QTナレッジポイントのまとめ(2)

1.ライブラリにリソースがある場合、リソースシステムの初期化を強制するには、.qrcファイル名のサフィックスなしのパラメーターを指定してQ_INIT_RESOURCE()を呼び出す必要があります。

2. qobject_cast()を使用して、QObjectクラスのタイプを動的に変換できます。

3.カスタムタイプをQ_DECLARE_METATYPE()マクロに登録して、それらの値をQVariantオブジェクトに保存できるようにする必要があります

4. QCoreApplication :: sendEvent()(同期)およびQCoreApplication :: postEvent()(非同期キュー)は、構築されたイベントを指定されたレシーバーに送信します。

5.レイアウトを使用する場合、子コントロールを作成するときに親を指定する必要はありません。レイアウトは自動的に親を指定し(QWidget :: setParent()を使用)、レイアウトがあるインターフェイスの子コントロールになります。インストール済み

  • QWidget :: sizeHint()は、ウィジェットの優先サイズを返します
  • QWidget :: minimumSizeHint()は、ウィジェットが持つことができる最小サイズを返します
  • QWidget :: setSizePolicy()は、ウィジェットに必要なスペースを指定します

6. QBoxLayoutメンバー関数:

//添加控件到布局,参数:控件 拉伸参数对齐方式
addWidget(QWidget *, int stretch = 0, Qt::Alignment alignment = 0)

//添加控件到布局,参数:控件 拉伸参数
addLayout(QLayout *layout, int stretch)
//设置控件的拉伸参数
setStretchFactor(QWidget *w, int stretch);
setStretchFactor(QLayout *l, int stretch); 

7. QGridLayout:グリッドレイアウト
 

//这个单元将从row和column开始,扩展到rowSpan和columnSpan指定的倍数的行和列。如果rowSpan或//columnSpan的值为-1,则窗口部件将扩展到布局的底部或者右边边缘处。
void addWidget(QWidget *, int row, int column, int rowSpan, int columnSpan, Qt::Alignment = 0);
void addLayout(QLayout *, int row, int column, int rowSpan, int columnSpan, Qt::Alignment = 0)

//设置间距
setSpacing(int spacing) //同时设置水平及竖直间距
setHorizontalSpacing(int spacing)
setVerticalSpacing(int spacing) 

8.フォームレイアウト(QFormLayout)は、QLabelおよびQLineEditとの組み合わせに適しています

QStackedLayoutクラスは、複数ページの切り替えレイアウトを提供し、一度に1つのインターフェースしか表示できません。QStackedWidgetと同じ

9. QSpacerItemクラスは、レイアウト用の空白領域を提供します。QSpacerItem(int w、int h、QSizePolicy :: Policy hData = QSizePolicy :: Minimum、QSizePolicy :: Policy vData = QSizePolicy :: Minimum)

レイアウトクラスは、addSpaceItemを使用して空白領域を追加できます

10. QTemporaryFileは、一意の一時ファイルを安全に作成するために使用されます。一時ファイルは、QTemporaryFileオブジェクトの破棄とともに削除されます。

11. QCryptographicHashクラスは、パスワードハッシュを生成するためのメソッドを提供します。

12. qInstallMessageHandler()を使用して、詳細なログを出力できます

13.環境変数QT_MESSAGE_PATTERNまたはqSetMessagePatternを使用して、出力されるメッセージの出力形式を変更します。

 

おすすめ

転載: blog.csdn.net/Chiang2018/article/details/103189334