現在、フォームに 3 つの垂直レイアウトがあります。引き伸ばして好みに合わせてサイズを変更するオプションをユーザーに提供したいと思います。これは垂直レイアウトで実現できますか?
質問する
127 次
2 に答える
0
前に述べたように QSplitter を使用できます。Designerで追加できない場合でも、解決する方法があります。これらのフレームをウィジェット (レイアウトを持たない) で作成し、cpp および h ファイルでそれを行います。
ヘッダーに、書く
class YourClass : public QSplitter
代わりは
class YourClass : public QWidget
コンストラクターのこれらの宣言をcppで置き換えます
QWidget(parent)
為に
QSplitter(parent)
そうだと思います(または、インクルードファイルを追加するなど、おそらく他の変更が必要になるでしょう)。
編集: 現時点では、QMainWindow クラスのコードを使用しています:
QSpliter *splitter = new QSplitter(this) //or declare 'splitter' in .h file.
splitter->setOrientation(Qt::Vertical);
splitter->addWidget(widget1);
splitter->addWidget(widget2);
splitter->addWidget(widget3);
setCentralWidget(splitter);
于 2013-09-11T16:21:37.260 に答える
0
4.8.6 の時点で、 [水平/垂直] スプリッターレイアウト オプションで [レイアウト]を使用して、Qt Designer に QSplitter を追加することができます。ウィジェットボックスにリストされていないのは少し驚きですが、使用できます。
于 2015-08-18T18:54:33.617 に答える