要在QWidget类型的Qt窗口的标题栏中创建一个帮助按钮,我喜欢这样:
myWindow->setWindowFlags(Qt::WindowContextHelpButtonHint);
这很好用。
要在同一类窗口的标题栏中创建一个最小化按钮,我想这样:
myWindow->setWindowFlags(Qt::WindowMinimizeButtonHint);
这也可以。
我想要做的是在同一窗口的标题栏中同时提供帮助按钮和最小化按钮。为此,我试图结合旗帜:
myWindow->setWindowFlags(Qt::WindowContextHelpButtonHint | Qt::WindowMinimizeButtonHint);
这仅显示最小化按钮,而不是帮助按钮(至少在Windows中)。如何在同一标题栏中显示两个按钮?
答案 0 :(得分:4)
不幸的是,这在Windows上是不可能的。原因如下:
Qt::WindowMinimizeButtonHint
是通过添加WS_MINIMIZEBOX
窗口样式实现的,请参阅here。Qt::WindowContextHelpButtonHint
是通过添加WS_EX_CONTEXTHELP
扩展窗口样式实现的,请参阅here。来自WS_EX_CONTEXTHELP
的参考:
WS_EX_CONTEXTHELP
不能与WS_MAXIMIZEBOX
或WS_MINIMIZEBOX
一起使用db.collection.findAndModify()
个样式。
所以,你永远不能有一个带最小化按钮[ - ]和上下文帮助按钮的窗口[?在Windows上。
如果你真的想这样做,你可能不得不使用无框窗口,并提供自己的自定义框架。
注意:此答案仅适用于Windows平台。