QtDialog具有关闭按钮但隐藏的工具栏,最小化和最大化按钮

时间:2019-01-17 15:42:36

标签: c++ qt

我正在开发Qt应用。我应该创建一个仅具有关闭按钮而没有工具栏的弹出窗口,并最小化和最大化按钮。

有什么想法吗?

Snippet Close button with no toolbar

3 个答案:

答案 0 :(得分:0)

我不知道“没有工具栏”是不是“没有标题栏”,但是this example可以为您提供帮助。无论如何,通过使用以下代码,您可以拥有一个仅带有关闭按钮和“标题栏”的窗口:

window->setWindowFlags(Qt::Window | Qt::WindowCloseButtonHint);

如果您也不希望标题栏,请尝试将其删除并自行设计。

答案 1 :(得分:0)

您可以更改窗口标志。但是您期望的窗口需要一个QDialog:没有菜单栏,只有一个关闭按钮(开箱即用)。 否则请参考(https://doc.qt.io/qt-5/qtwidgets-widgets-windowflags-example.html)并为Qt :: WindowCloseButtonHint设置标志。

答案 2 :(得分:0)

如果使用setWindowFlags(Qt::Window | Qt::FramelessWindowHint);,您将摆脱标题栏,但标题栏上的所有按钮都将消失,包括关闭按钮。

这将意味着您需要实现一种移动窗口的方法,因为标题栏用于此目的。参见this answer

然后使用一个关闭按钮来实现自己的标题栏类,您可以将其放在对话框的顶部。

不幸的是,您无法控制系统标题栏的外观,因此无法通过样式表解决此问题。