gpt4 book ai didi

c++ - 如何将小部件添加到预先存在的 QLayout?

转载 作者:太空宇宙 更新时间:2023-11-04 11:41:16 25 4
gpt4 key购买 nike

我正在寻找一个 super 简单的示例,但似乎找不到。我有一个主窗口。当按下按钮时,我想创建一个新窗口,该窗口在 MainWindow 的布局中打开,成为主窗口的一部分。

我有代码在按下按钮调用这个插槽时设置...当它被调用时我的 QLabel 出现,但我的 QWidget 没有

QWidget *test = new QWidget();
test->setGeometry(QRect(100,100,100,100));
layout->addWidget(test,0,0)

//Operation Mode
QLabel *operationalModeLabel1 = new QLabel("TEST");
layout->addWidget(operationalModeLabel1,2,1);

最佳答案

“缺乏例子”的原因是你想错了。您所描述的内容总是由每个使用布局的 Qt 示例完成!我是认真的。当您将小部件添加到布局时,没关系。 “现在”添加小部件与“稍后”添加小部件没有什么神奇之处。

想想问题的标题:它毫无意义。所有小部件都必须添加到已经存在的布局中! 根据定义,不少于此。如果没有布局,您如何向其中添加小部件?

你的代码是错误的,仅此而已。在要由布局管理的小部件上设置几何图形总是没有意义的。只要将它添加到布局中,布局就会改变几何形状。

由于您在布局中添加了一个空的小部件,您很可能看不到它。这就是标 checkout 现的原因 - 它不是一个空的小部件。

如果您想要一个固定大小的小部件,以便更容易注意到,只需在其上设置固定大小即可。更好的是,将其设为红色以使其脱颖而出。

QWidget * test = new QWidget();
test->setStyleSheet("QWidget { background-color: red }");
test->setFixedSize(100, 100);
layout->addWidget(test, 0, 0);

关于c++ - 如何将小部件添加到预先存在的 QLayout?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21340836/

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