質問

私はQMainWindowデザイナーでQtCreator'sを設計しました。これは、その中のすべての他のウィジェットとQWidgetが含まれているデフォルトの中央ウィジェット(QVBoxLayout)から構成されています。今、私が望むすべては、QVBoxLayoutが自動的に全体の中央のウィジェットは、スペースを矩形占めているということです。

私はこれをどのように行うことができますか?私は中央のウィジェットのプロパティもQVBoxLayout'sものでもない任意の使用可能なプロパティを見つけることができませんでした。

役に立ちましたか?

解決

は、手動QVBoxLayoutを作成する必要はありません。ちょうどあなたの中心QWidgetを選択して、メイクレイアウトボタンを押します。

altテキスト

他のヒント

あなたが代わりにQtCreatorを使用してのコードでそれを行うにしたい場合は、

、あなたはQWidgetにレイアウトを設定して、このようなメインウィンドウの中央ウィジェットとしてQWidgetを設定することができます:

#include <QtGui>
#include <QWidget>
#include <QHBoxLayout>
#include "mainwindow.h"

MainWindow::MainWindow() {  

        // Set layout
        QHBoxLayout *layout = new QHBoxLayout;
        layout->addWidget(myWidget1);
        layout->addWidget(myWidget2);

        // Set layout in QWidget
        QWidget *window = new QWidget();
        window->setLayout(layout);

        // Set QWidget as the central layout of the main window
        setCentralWidget(window);

}

あなたのMainWindow上に少なくとも1つのウィジェットを追加します。そして、それをクリックしてウィンドウを選択し、VerticalLayoutの上部にQTCreatorボタンをクリックしてください。あなたが縦レイアウトが自動的に中央のウィジェットに加え、全ての面を埋めされます。

これは、既に回答されていますが、私は個人的に、すべての制御要素は、を維持することを好むとのレイアウトは、フォームに手動で追加しました。私は単にクラス内、クラスのロジックに関連する/ショーウィジェットを非表示にするには、信号/スロットをフックアップ、クラスファイルのコントロールを追加しないでください。

手動で最初に少なくとも一つの子ウィジェット/コントロールを追加する必要があります任意のウィジェットにレイアウトを追加します。それは私には全く明確ではありませんでしたし、私は最初のレイアウトを追加しようとしていた。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top