gpt4 book ai didi

c++ - Qt 小部件在布局中重叠

转载 作者:行者123 更新时间:2023-11-30 05:29:57 26 4
gpt4 key购买 nike

我在主窗口的构造函数中有以下代码,它扩展了 QMainWindow 类:

QHBoxLayout* mainLayout = new QHBoxLayout(this);

QPushButton* button0 = new QPushButton(this);
button0->setText("Button 0");
mainLayout->addWidget(button0);

QPushButton* button1 = new QPushButton(this);
button1->setText("Button 1");
button1->setMinimumWidth(500);
mainLayout->addWidget(button1);

QPushButton* button2 = new QPushButton(this);
button2->setText("Button 2");
mainLayout->addWidget(button2);

setMinimumSize(700,480);
this->setLayout(mainLayout);

但是,当我尝试运行它时,按钮似乎重叠在左上角。我应该在这里更改什么?

最佳答案

检查控制台输出。通常主窗口默认是有布局的,那么你只需要在中央小部件上设置它而不是窗口本身:

this->centralWidget()->setLayout(mainLayout);

如果中央小部件不存在(例如,您删除了自动生成的 .ui 文件),那么只需手动创建它:

QWidget* centralWidget = new QWidget(this);
setCentralWidget(centralWidget);
QHBoxLayout* mainLayout = new QHBoxLayout(centralWidget);

QPushButton* button0 = new QPushButton(this);
button0->setText("Button 0");
mainLayout->addWidget(button0);

QPushButton* button1 = new QPushButton(this);
button1->setText("Button 1");
button1->setMinimumWidth(500);
mainLayout->addWidget(button1);

QPushButton* button2 = new QPushButton(this);
button2->setText("Button 2");
mainLayout->addWidget(button2);

setMinimumSize(700,480);

关于c++ - Qt 小部件在布局中重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36227256/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com