【发布时间】:2017-08-03 18:52:22
【问题描述】:
我有一个 Main QWidget,其中包含三个提升的小部件:A 派生自 QGraphicsView,B 派生自 QLabel和 C 派生自 QWidget。
在应用程序退出时,我需要在 A 之前销毁 B 和 C,但我发现由于 A, B 和 C 父级自动设置为 Main,A 首先被销毁。这可以通过将 A 设置为 B 和 C 父级来解决。
生成的ui_ProjectName.h文件有:
a = new A(Main);
b = new B(Main);
c = new C(Main);
但应该是:
a = new A(Main);
b = new B(a);
c = new C(a);
有没有办法从 Qt Designer 直接生成正确的 ui_ProjectName.h?
【问题讨论】:
-
一旦你有了你喜欢的布局,你为什么不能编辑 XML 并交换顺序以适应?
-
@SPlatten 因为当我从 Qt Creator 切换到 XML 视图时,它说“这个文件只能在设计模式下编辑。”
-
是的,我意识到这一点,但是没有什么能阻止您在 IDE 之外打开文件并使用文本编辑器编辑订单。
-
@SPlatten 好的,那么我应该对 XML 进行哪些更改以使 A 成为 B 和 C 的父级?
-
将 B 和 C 拖入 A 体内就可以了。感谢您的提示!
标签: c++ qt parent-child qt-designer