[英]Minimize button and context help button in the same title bar in Qt
要在QWidget類型的Qt窗口的標題欄中創建一個幫助按鈕,我喜歡這樣:
myWindow->setWindowFlags(Qt::WindowContextHelpButtonHint);
這很好。
要在相同類型的窗口的標題欄中創建一個最小化按鈕,我喜歡這樣:
myWindow->setWindowFlags(Qt::WindowMinimizeButtonHint);
這也很好。
我想做的是在同一窗口的標題欄中同時有一個幫助按鈕和一個最小化按鈕。 為此,我嘗試結合這些標志:
myWindow->setWindowFlags(Qt::WindowContextHelpButtonHint | Qt::WindowMinimizeButtonHint);
這僅顯示最小化按鈕,而不顯示幫助按鈕(至少在Windows中是這樣)。 如何在同一標題欄中顯示兩個按鈕?
不幸的是,這在Windows上是不可能的。 原因如下:
Qt::WindowMinimizeButtonHint
通過添加WS_MINIMIZEBOX
窗口樣式來實現,請參見此處 。 Qt::WindowContextHelpButtonHint
通過添加WS_EX_CONTEXTHELP
擴展窗口樣式來實現,請參見此處 。 從WS_EX_CONTEXTHELP
的參考中:
WS_EX_CONTEXTHELP
不能與WS_MAXIMIZEBOX
或WS_MINIMIZEBOX
樣式一起使用。
因此,永遠不會有帶有最小化按鈕[-]和上下文幫助按鈕[? ]在Windows上。
如果確實要這樣做,則可能必須使用無框架窗口,並提供自己的自定義框架。
注意:此答案僅與Windows平台有關。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.