[英]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.