我有两个小部件(真实的和假的),其中之一有一个 QPushButton。现在我希望在另一个小部件中显示相同的按钮。我该怎么做?
我不想创建副本,我希望在不更改父级的情况下同时向另一个小部件显示相同的 QObject。
作为示例,在下面我希望“mybutton”同时显示在两个小部件中;
QWidget *widgetReal = new QWidget();
QWidget *widgetFake = new QWidget();
widgetReal->setWindowTitle("Real");
widgetFake->setWindowTitle("Fake");
widgetReal->show();
widgetFake->show();
QGridLayout *layoutReal = new QGridLayout();
QGridLayout *layoutFake = new QGridLayout();
QPushButton *mybutton = new QPushButton();
layoutReal->addWidget(mybutton);
widgetReal->setLayout(layoutReal);
layoutFake->addWidget(mybutton); //this changes the parent and this is not what I want to do
widgetFake->setLayout(layoutFake);
mybutton->show();
我需要这个的原因是因为我有一堆 MDISubWindows 并且它们包含一些控件(按钮、复选框......等)。现在我想从这些小部件中选择其中一些控件并创建一个小部件。这样做的原因是,当我仅使用其中的单个按钮时,我不想显示所有 MDISubwindow
任何建议都非常有帮助。谢谢。
-CV
QWidgets 应该只有一个父对象。毫无疑问,您可以想出一些技巧来大致实现您想要的目标,但是当您可以重新设计以适应 Qt GUI 系统的工作方式时,为什么还要这样做呢?
不要试图对抗框架。如果你这样做,你最终会得到难以理解和难以维护的代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)