如何在Qt上的应用标题栏上添加带有上下文菜单的按钮?

时间:2018-03-12 12:32:57

标签: c++ qt

我注意到一些基于Qt的应用程序在其标题栏中有一个带有上下文菜单的按钮,我想在我的应用程序中实现类似的效果,有人能告诉我如何实现它吗?图像显示其中一个应用程序,单击按钮显示上下文菜单 具有上下文菜单的按钮

提前谢谢......

2 个答案:

答案 0 :(得分:3)

标题栏通常由窗口管理器(Windows上的DWM或Linux上的KDE的KWin等)处理。

您可以执行有限的操作来自定义原生标题栏,但它不可移植。

您可以使用Qt::WindowTitleHintQt::FramelessWindowHint禁用原生标题栏,并在您的软件中实现自己的标题栏。但是当你失去窗口管理器提供的一些功能时,这有一些缺点。

您可以先查看这些论坛帖子:

答案 1 :(得分:0)

其中一个选择: 如果您使用QML,则可以通过设置Qt.FramelessWindowHint来创建自定义窗口标题栏。然后在里面创建你自己的标题栏矩形与你想要的一切

Window {
    visible: true
    width: 640
    height: 480
    flags: Qt.FramelessWindowHint
}

但遗憾的是,您需要从头开始编写所有窗口控件(移动,调整大小,按钮......) (here is some info about moving