1
我試圖創建具有以下佈局的窗口小部件:問題與插入部件的QGridLayout
我試了幾種方法,在我的第一個,我用了一個QVBoxLayout給我加了不同的小工具使用QGridLayout(所以我會得到我想要的水平調整大小)。
//pseudo code, just to show what I tried...
myHeaderWidget::myHeaderWidget() {
QGridLayout* layout = new QGridLayout;
layout->addWidget(new QCheckBox(), 0, 0, 1, -1, Qt::AlignRight | Qt::AlignTop);
setLayout(layout);
}
oneOfMyOtherWidgets::oneOfMyOtherWidgets() {
QGridLayout* layout = new QGridLayout;
layout->addWidget(new QCheckBox(), 0, 0, 1, 1, Qt::AlignLeft | Qt::AlignTop);
layout->addWidget(new QPushButton(), 0, 1, 1, -1, Qt::AlignLeft | Qt::AlignTop);
setLayout(layout);
}
mydialog::mydialog() {
QVBoxLayout* layout = new QVBoxLayout;
setLayout(layout);
layout->addWidget(new myHeaderWidget, 0, Qt::AlignRight);
//here was the third widget containing Descr1 and Description2, as
//drawn in image above
layout->addWidget(new oneOfMyOtherWidgets, 0, Qt::AlignLeft);
}
第二種方法是使用一個QGridWidget作爲佈局mydialog,和我的第三個方法是將所有這些項目添加到mydialog相同QGridWidget。
所有這些結果是相同的,對我來說陌生,行爲: 在任何時候,我創建的對話,並呼籲秀(),執行下列操作之一可能發生:
- 所有項目都在畫我想要的方式。
- 顯示左側的複選框,但右側的按鈕覆蓋了複選框
- 的描述左側的複選框是正確的,但我找不到按鈕。
- 按鈕佔用了所有空間,你根本看不到任何複選框。
可能有人給我一個提示,我做錯了什麼,或者告訴我一種方法來創建我在圖像中繪製的佈局?
感謝您展示您的示例,我不知道您可以在addWidget期間對齊:D – Saebin 2015-01-30 20:04:35