【发布时间】:2019-09-09 08:28:29
【问题描述】:
我是 Qt 新手,这可能是一个非常愚蠢的问题。我正在开发一个项目,其中包含 Visual Studio (C++) 中的几个子项目。整个项目只有一个用户界面 (UI),为此使用了 Qt。
在所有子项目中,只有2个类继承自QMainWindow。
作为一个新手,我想知道,哪些类应该继承QMainWindow?
【问题讨论】:
-
实际上,没有一个类必须继承自
QMainWindow。您可以将小部件“插入”在一起(例如在main()中。-我的大多数小示例都是这样完成的。)但是,QMainWindow内容之间可能存在更紧密的相互依赖性(关于小部件和处理的数据)通过这些小部件)。要将事物粘合在一起,派生QMainWindow并使所有相互依赖的东西成为此类的成员可能是有意义的。或者,您可以创建另一个应用程序类,其中QMainWindow本身就是一个成员。 -
...这是一个设计问题 - 您提供的信息较少,很难判断。 ;-)
-
@Murphy:我不是在问区别。我想知道你应该从
QMainWindow继承的情况。 -
您还没有阅读接受的(也是唯一的)答案,是吗? “
QMainWindow是围绕主窗口的常见需求而设计的。它为菜单栏、状态栏、工具栏和其他小部件预定义了位置。”因此,当您需要这些设施时,您可以从中获得。另见docs:“主窗口提供了构建应用程序用户界面的框架。”