我正在迈出使用 Qt 的第一步。作为练习,我正在为一个多核处理器编写一个 GUI,各个内核显示在一个单独的窗口中。从这个窗口来看,可能有几个副本,它们有独立的生命,包括菜单、状态行等。也就是说,它们本质上就像一个 QMainWindow,但有一个 QMoreMainWindow :)。如果我多次使用 QMainWindow 可能会有任何副作用?
最佳答案
没有什么能阻止您将它们中的任何一个用于任何事情。它们确实具有不同的角色和属性:
-
QMainWindow
就是这样:一个主窗口。它有一个工具栏、dockwidgets、一个菜单栏、一个状态栏和一个中央小部件。如果您不需要所有(大部分)这些东西,您显然不需要QMainWindow
。 -
QWindow
是一个准系统对象,如果您不想/不需要QWidget
的功能,那么它很有用。 -
QDialog
旨在用于弹出窗口(即“对话框”),例如消息框或打开文件对话框。 -
QWidget
是基本窗口或窗口元素。如有疑问,请使用它。
阅读您的问题后,您似乎希望每个窗口都是 QMainWindow
。请注意,如果我是您,我仍然更喜欢只包含我需要的部分的自定义 QWidget
。添加状态栏和菜单并不需要太多代码。
关于qt - 独立窗口 : a QDialog, QWindow 或 QMainWindow 与 Qt 一起使用什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35482064/