QFlagsの演算子Int()をどのように使用しますか?

aarelovich

ドキュメント:http//doc.qt.io/qt-5/qflags.html#operator-Int

質問。1つずつテストせずにどのフラグが設定されているか知りたいので、int番号が必要です。QFlagsを返す多くのqtメソッドの1つでその演算子を使用する方法の例を誰かが提供できますか?

パヴァンチャンダカ

QFlags.hソースコード(https://android.googlesource.com/platform/prebuilts/android-emulator-build/qt/+/master/common/include/QtCore/qflags.hを参照する

これは、「Int」演算子のQFlagsでの定義です。

Q_DECL_CONSTEXPR inline operator Int() const Q_DECL_NOTHROW { return i; }

そして、returnステートメントの「i」は次のように宣言されます。

Int i;

そして「Int」は次のように宣言されます

typedef int Int

以下の2つのコンストラクタに注意してくださいQFlags最初のコンストラクターはEnumパラメーターとして受け取り、2番目のコンストラクターはQFlagパラメーターとして受け取ります。

Q_DECL_CONSTEXPR inline QFlags(Enum f) Q_DECL_NOTHROW : i(Int(f)) {}
Q_DECL_CONSTEXPR inline QFlags(QFlag f) Q_DECL_NOTHROW : i(f) {}

上記のコンストラクターに気付いた後Enum、がコンストラクターに渡されると、列挙型はsigned1つまたはunsigned1つになります。QFlags内部的に型はそれをintusingにキャストIntます。

以下の例を考えてみましょう。

//Qt::CursorShape is an Enum
Qt::CursorShape shape = Qt::ArrowCursor;

//Create QFlags object by passing "ENUM" as parameter
QFlags<Qt::CursorShape> qF(shape);

//Create QFlags object by just passing FLAG as a parameter
QFlags<Qt::CursorShape> q(Qt::ArrowCursor);

ここで、「Int」演算子が呼び出される状況:以下のコードでは、最初のステートメントがInt2番目のステートメントではなく演算子を呼び出します

//Now try getting the values.
int test = qF; //In this case the "Int" operator is called.
int test1 = q;

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

QFlagsをdoxygenでどのように文書化しますか?

分類Dev

`do`をRxJSのlettable演算子としてどのように使用しますか?

分類Dev

範囲の演算子間をどのように使用しますか?

分類Dev

MonixはflatMap演算子でどのように背圧を使用しますか?

分類Dev

C / C ++コンパイラは*演算子(ポインタ、逆参照演算子、乗算演算子)の使用をどのように区別しますか?

分類Dev

Javascriptで `in`演算子を使用しても安全かどうかをどのように検出できますか?

分類Dev

条件演算子/三項演算子はどのように機能しますか?C ++

分類Dev

この演算子の結合性をどのように説明しますか?

分類Dev

haskellの演算子<-はどのように動作しますか?

分類Dev

Rubyの。()演算子はどのように機能しますか?

分類Dev

Pythonは代入演算子の後にどのように値を代入しますか

分類Dev

どのように使用しますか?:JavaScriptの(条件付き)演算子?

分類Dev

Int32はどのように演算子をオーバーロードしますか?

分類Dev

TSQL は + 演算子の適用方法をどのように決定しますか?

分類Dev

配列のインデックス作成で 'および'演算子をどのように使用しますか?

分類Dev

sequelizeを使用して、where基準でOR演算子をどのように使用しますか?

分類Dev

三項演算子はどのように機能しますか?

分類Dev

三項演算子はどのように機能しますか

分類Dev

<:<演算子はScalaでどのように機能しますか?

分類Dev

jq- | =演算子はどのように機能しますか?

分類Dev

論理演算子はどのように動作しますか?

分類Dev

加算代入演算子はどのように動作しますか

分類Dev

OR演算子はSQLでどのように機能しますか?

分類Dev

"| =" PHP演算子はどのように機能しますか?

分類Dev

Rは、右代入演算子「->」をどのように正確に解析しますか?

分類Dev

括弧付きのJavaScriptで正規表現演算子 'または'をどのように使用しますか?

分類Dev

どのように私はKotlinにJavaのビット演算子を使用していますか?

分類Dev

pythonpathlib演算子 '/'-どのようにそれを行いますか?

分類Dev

正規表現を使用してブール演算子を抽出し、次の演算子まで単語を抽出するにはどうすればよいですか?

Related 関連記事

  1. 1

    QFlagsをdoxygenでどのように文書化しますか?

  2. 2

    `do`をRxJSのlettable演算子としてどのように使用しますか?

  3. 3

    範囲の演算子間をどのように使用しますか?

  4. 4

    MonixはflatMap演算子でどのように背圧を使用しますか?

  5. 5

    C / C ++コンパイラは*演算子(ポインタ、逆参照演算子、乗算演算子)の使用をどのように区別しますか?

  6. 6

    Javascriptで `in`演算子を使用しても安全かどうかをどのように検出できますか?

  7. 7

    条件演算子/三項演算子はどのように機能しますか?C ++

  8. 8

    この演算子の結合性をどのように説明しますか?

  9. 9

    haskellの演算子<-はどのように動作しますか?

  10. 10

    Rubyの。()演算子はどのように機能しますか?

  11. 11

    Pythonは代入演算子の後にどのように値を代入しますか

  12. 12

    どのように使用しますか?:JavaScriptの(条件付き)演算子?

  13. 13

    Int32はどのように演算子をオーバーロードしますか?

  14. 14

    TSQL は + 演算子の適用方法をどのように決定しますか?

  15. 15

    配列のインデックス作成で 'および'演算子をどのように使用しますか?

  16. 16

    sequelizeを使用して、where基準でOR演算子をどのように使用しますか?

  17. 17

    三項演算子はどのように機能しますか?

  18. 18

    三項演算子はどのように機能しますか

  19. 19

    <:<演算子はScalaでどのように機能しますか?

  20. 20

    jq- | =演算子はどのように機能しますか?

  21. 21

    論理演算子はどのように動作しますか?

  22. 22

    加算代入演算子はどのように動作しますか

  23. 23

    OR演算子はSQLでどのように機能しますか?

  24. 24

    "| =" PHP演算子はどのように機能しますか?

  25. 25

    Rは、右代入演算子「->」をどのように正確に解析しますか?

  26. 26

    括弧付きのJavaScriptで正規表現演算子 'または'をどのように使用しますか?

  27. 27

    どのように私はKotlinにJavaのビット演算子を使用していますか?

  28. 28

    pythonpathlib演算子 '/'-どのようにそれを行いますか?

  29. 29

    正規表現を使用してブール演算子を抽出し、次の演算子まで単語を抽出するにはどうすればよいですか?

ホットタグ

アーカイブ