我在運行時創建了VerticalLayout並在其上添加了幾個複選框。但是複選框在表單頂部有巨大的空白區域。我無法縮小它們之間的差距,並在頂部修剪多餘的空白。如何減少Qt中的佈局內部的窗口小部件之間的差距
下面是UI和CPP文件的源代碼:
HideChartConfig.ui
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>HideChartConfig</class>
<widget class="QDialog" name="HideChartConfig">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>559</height>
</rect>
</property>
<property name="windowTitle">
<string></string>
</property>
<widget class="QScrollArea" name="scrollArea">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>381</width>
<height>471</height>
</rect>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>379</width>
<height>469</height>
</rect>
</property>
</widget>
</widget>
<widget class="QPushButton" name="okButton">
<property name="geometry">
<rect>
<x>310</x>
<y>510</y>
<width>75</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>OK</string>
</property>
</widget>
</widget>
<layoutdefault spacing="6" margin="11"/>
<resources/>
<connections/>
</ui>
HideChartConfig的構造內部:
this->setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint | Qt::WindowCloseButtonHint);
ui->setupUi(this);
QPalette pal = ui->scrollArea->palette();
pal.setColor(QPalette::Background, Qt::white);
ui->scrollArea->setPalette(pal);
QWidget* container = new QWidget();
m_ContainerLayout = new QVBoxLayout();
container->setLayout(m_ContainerLayout);
ui->scrollArea->setWidget(container);
m_ContainerLayout->addStretch();
for (int i = 0; i < 3; i++)
{
QCheckBox *checkbox = new QCheckBox("Hello");
m_ContainerLayout->addWidget(checkbox, 0, Qt::AlignTop);
}
m_ContainerLayout->addStretch();
m_ContainerLayout->setSpacing(0);
同樣對於參考附截圖:
我希望複選框出現在窗體的頂部,並在頂部修剪多餘的空白。
任何幫助表示讚賞。提前致謝!
你可以表現出你的圖像想要得到。 – eyllanesc
@eyllanesc:我希望複選框出現在窗體的頂部,並在頂部修剪額外的空白。 – gollusingh09