【发布时间】:2022-01-20 17:30:18
【问题描述】:
我见过Use a single source file for many QtDesigner forms,这也是我的问题的要点,但它只是建议:
我的建议是使用它作为 Qt 方式。为每个表单使用单独的类和单独的文件。这种方法更好。
但是,我想特别知道 - 是否有可能完全在单个 .ui 中定义多个表单(例如,“主窗口”和“底部按钮对话框”)文件,并在 QtDesigner 中使用它们?
基本上,对于我的一个应用程序,我使用 QtDesigner .ui 文件来设计 MainWindow,并从 Python (PyQt5) 加载它——效果很好。现在,我只想添加一个单击按钮时弹出的窗口对话框,并且我还想使用 QtDesigner,但我不想维护两个 .ui 文件。我想,一旦在 Python 中加载了这样一个 .ui 文件(具有多个表单定义),Python 代码只会将 QMainWindow 以外的所有表单设置为隐藏,然后在它们适当显示时进行管理。
(我使用 QtDesigner 开关,所以我不太了解它 - 但我记得有一些 QtDesigner 无法从 UI 中完成,但可以在 .ui 文件中手动完成,之后这样的变化,QtDesigner仍然可以处理它们.所以,如果有办法做到这一点 – 即使它在QtDesigner UI中不完全支持 – 我很想知道它,或者有一个明确的答案不可行)。
【问题讨论】:
-
链接的问题只讨论源文件(.cpp)和头文件(.h),而不是.ui i> 文件。因此,那里给出的建议与您的要求无关。 Qt Designer可能允许每个文件有多个表单 - 但它没有。所以你没有真正的选择,当然,就像 C++ 一样,你可以用最适合你的项目的任何方式组织你的 Python 模块。
标签: pyqt5 qt-designer