如何从Qt小部件中移除窗口边框(包含最小化、最大化和关闭按钮)?

11

我想要给一个小部件(QPushButon)添加动画效果,让它在应用程序屏幕上移动。为此,我创建了一个新的按钮,并使用 QPropertyAnimation 类和按钮的“geometry”属性,从上往下移动它。问题是这个按钮会带有关闭、最小化、最大化等按钮以及小部件边框,但我不希望它们出现。我该怎么办?

1个回答

35
您想使用函数QWidget::setWindowFlags( Qt::WindowFlags )
如果您想移除最大化/最小化/关闭按钮,以下代码适用于您: setWindowFlags(Qt::CustomizeWindowHint); Qt::CustomizeWindowHint关闭默认窗口标志,如最大化、最小化、关闭按钮和标题栏。
这里是所有Qt::WindowFlags的列表。

13
如果按钮只是通过编程移动而不是由用户手动移动,那么Qt::FramelessWindowHint也可能是一个不错的选择,因为它也会去除边框。当然,这只是一个选项。 - Troubadour

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接