web-dev-qa-db-ja.com

Qt DesignerでQSplitterを管理する方法

ボタンを押すと、ユーザーが項目を選択し、最後に「OK」を押すダイアログが表示されます。このダイアログにスプリッターが必要です。左ペインにはツリーが表示され、右ペインには他の何かが表示されます。どうすれば正しくできますか?

Qtの例自体から:

 QSplitter *splitter = new QSplitter(parent);
 QListView *listview = new QListView;
 QTreeView *treeview = new QTreeView;
 QTextEdit *textedit = new QTextEdit;
 splitter->addWidget(listview);
 splitter->addWidget(treeview);
 splitter->addWidget(textedit);

したがって、この例では、ダイアログリソースなしでスプリッターが作成されます。この方法で作成する必要がある場合、Qt Creatorではなくコード内のすべてのコントロールを作成する必要があります。

画面に他のコントロールが必要な場合、これを行う正しい方法は何ですか?

26
zar

Qt Designerでアイテムを含むスプリッターを簡単に作成できます。

  1. 最初にウィジェットをデザイナーのダイアログまたはウィジェットに配置します(レイアウトに配置しないでください)

  2. スプリッターに配置するウィジェットを選択します(CTLを押しながらクリックします)

  3. 選択したウィジェットを右クリックして、レイアウトメニューからスプリッターで水平にレイアウトまたはスプリッターで垂直にレイアウトを選択します。

  4. 次に、ダイアログにグリッドレイアウトを適用すると、すべてが正常になります。オブジェクトインスペクタービューに次のようなものが表示されます。

enter image description here

60
Nejat

Qt Designer(Qt Creatorに統合されています)を使用して、.uiファイルにコントロールを作成できます。 Qt Designer内で、QWidgetオブジェクトをダイアログに追加します。次に、コンストラクターに直接書き込むQDialog派生クラスから、QWidgetオブジェクトを親として使用してQSplitterを作成します。

この方法で、Qt Designerからスプリッターオブジェクトを除くすべてを作成できます。

Qt Designerから直接QSplitterQButtonQCheckBox...を作成できるように)アイテムを作成することも可能だと思います。

0
jpo38