簡體   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