我在我的主要窗口小部件的ctor中,在我的Qt应用程序中有以下代码。无论我如何对齐添加到QGridLayout的按钮,它们总是保持在左上角,彼此重叠。
任何人都可以告诉我我做错了什么,我找不到。
btn_File= new QPushButton("&File", this);
btn_Close = new QPushButton("&Close", this);
btn_File->setAutoFillBackground(true);
btn_Close->setAutoFillBackground(true);
QGridLayout * layout = new QGridLayout(this);
layout->setContentsMargins(20,20,10,10);
layout->setSpacing(5);
layout->addWidget(btn_File,2,2, Qt::AlignRight);
layout->addWidget(btn_Close,1,1);
this->setLayout(layout);
编辑:似乎只绘制了btn_Close
。我只是尝试将QComboBox添加到网格中,但它没有显示出来。
答案 0 :(得分:1)
问题是我的主窗口是从QMainWindow
派生的,你需要在添加GUI元素之前添加一个CentralWidget。我将主窗口改为派生自QWidget
,现在它可以正常工作。
答案 1 :(得分:0)
试图在最后调用this->adjustSize()
?
答案 2 :(得分:0)