繁体   English   中英

Qt Creator中的自定义类

[英]Custom class in qt creator

我对Qt并不陌生,对C ++也不陌生,但在此问题上我需要帮助。 我有一个名为HybridStack的自定义类,我希望它扩展QStackedWidget和QMainWindow。 我希望它扩展一个QStackedWidget,以便我可以使用所需的任意数量的页面,而且我希望它扩展一个QMainWindow,以便使每个页面都有自己的MenuBar,其中不同菜单的菜单内容不同。

我想通过从QStackedWidget进行升级将其添加到Qt Designer中。

这可能吗? 如果是,您可以向我介绍如何执行此操作吗? 如果不可能的话,那有什么选择呢? 最重要的是,我需要在Designer中使用它,因为我需要使用qmake

您不能从QStackedWidget和QMainWindow派生,因为这两个都是从QWidget派生的。 如果这样做,您将得到恐惧钻石 您将不得不使用合成。

即使那样,我也不知道将QMainWindow放在QStackedWidget内是否正确,因为它被设计为顶级项(即,它直接显示为窗口,而不是嵌入在另一个QWidget中)。 完成所需内容的另一种方法(更改标签时,菜单栏会更改)如下:

  1. 使您的顶级项目成为QMainWindow
  2. 使中央窗口小部件成为从QStackedWidget派生的自定义窗口小部件
  3. 当堆栈小部件中显示的项目更改时,可以调用QMainWindow :: setMenuBar更改菜单栏。 QStackWidget中的每个小部件都可以具有自己的QMenuBar实例,用于此目的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM