c++ - Qt Gridlayout 不重新对齐 GUI 元素

标签 c++ qt qgridlayout

在我的 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 添加到网格中,但它没有显示出来。

最佳答案

问题是我的主窗口是从 QMainWindow 派生的,在其中您需要在添加 GUI 元素之前添加一个 CentralWidget。我改为从 QWidget 派生我的主窗口,现在它可以工作了。

关于c++ - Qt Gridlayout 不重新对齐 GUI 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8385279/

相关文章:

python - QGridLayout 不同的列宽

c++ - 分配失败

qt - Q_Property 通知信号何时被调用?

c++ - 如何在布局中调整 QWidget 的大小,同时将其对齐到中心并保持纵横比

javascript - 如何通过 Javascript 访问 QML ComboBox 中使用的 QAbstractListModel 的角色

c++ - 我应该为 C++ GUI 安装 Qt 5.5.1 什么?

c++ - QGridLayout 3x3 网格调整大小小部件

c++ - 编程原理与实践第 2 版第 8 章练习 1

python - PyCharm CE 2017.2.2 : APPCRASH "Python has stopped working" randomly on Windows 7

c++ - 在注入(inject)的 DLL 中调用函数?