【发布时间】:2013-06-06 06:47:36
【问题描述】:
我对@987654321@ 有一些不明白的地方。我已经使用它一段时间了,但我仍然总是手动编辑 .ui 文件。
正如在 Qt 的每个教程中可以看到的那样,创建 GUI 时要做的第一件事就是继承 QMainWindow - 以便捕获和重新定义 @例如 987654323@ 函数。
但是,不能在 Qt Designer 中对QMainWindow 进行子类化(“提升”) - 您可以使用许多其他类来实现,但不是这个。
我通常做的是编辑 .ui 文件并进行更改:
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
作者:
< widget class="MyMainWindow" name="MainWindow">
这样我的代码就可以在我的代码中正确地继承QMainWindow:
class MyMainWindow(QMainWindow, object):
''' I can redefine closeEvent here! '''
显然,这很奇怪 - 我可能会错过使用 Designer 的正确方法。但我找不到任何解释。
为什么不能在 Designer 中对 QMainWindow 进行子类化,或者如何以不同的方式构建我的应用程序以避免需要它?
谢谢
【问题讨论】:
标签: qt pyside designer qmainwindow