-1

現在、フォームに 3 つの垂直レイアウトがあります。引き伸ばして好みに合わせてサイズを変更するオプションをユーザーに提供したいと思います。これは垂直レイアウトで実現できますか?

4

2 に答える 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 に答える