0
請你幫助我。 我在Qt項目中有一個經典的主窗口,我想將其拆分爲四個部分 - 小部件SAME。我需要在第一部分有一個小部件,另一部分必須是空的。之後,在我的程序後面,我想添加另一個部件到另一個部件。重要的是將主窗口分爲四部分,用於相同大小的小部件。Qt將主窗口分割爲四個小部件
我有這個代碼,但它將主窗口分成不同大小的四個部分。一個是大而另一個只是非常小等。
在場景[..] - > gameview是小部件插入。
注意:我不使用.ui文件,我手動編碼所有內容。
containter = new QWidget(this);
container_layout = new QVBoxLayout;
containter2 = new QWidget(this);
container_layout2 = new QVBoxLayout;
central = new QWidget(this);
splitter1->addWidget(scenes[0]->gameview);
splitter1->addWidget(scenes[1]->gameview);
container_layout->addWidget(splitter1);
containter->setLayout(container_layout);
splitter2->setOrientation(Qt::Vertical);
splitter2->addWidget(containter);
if(number_of_scenes == 3)
{
splitter3->addWidget(scenes[2]->gameview);
splitter3->addWidget(new QWidget);
container_layout2->addWidget(splitter3);
containter2->setLayout(container_layout);
}
else if(number_of_scenes == 4)
{
splitter3->addWidget(scenes[2]->gameview);
splitter3->addWidget(scenes[3]->gameview);
container_layout2->addWidget(splitter3);
containter2->setLayout(container_layout);
}
else
{
splitter3->addWidget(new QWidget);
splitter3->addWidget(new QWidget);
container_layout2->addWidget(splitter3);
containter2->setLayout(container_layout);
}
splitter2->addWidget(containter2);
layoutt->addWidget(splitter2);
central->setLayout(layoutt);
setCentralWidget(central);
看看[QGridLayout](https://doc.qt.io/qt-5/qgridlayout.html)。關鍵字是'stretchFactor'。這個因子允許你定義佈局中一個元素應該佔用多少比例空間。 – Felix