PyQt5 - 隐藏窗口的标题栏而不隐藏框架

时间:2017-09-05 09:00:16

标签: python pyqt pyqt4 pyqt5

我正在使用PyQt5开发文本编辑器,我想创建自己的“标题栏”。 enter image description here 我创建了自己的标题栏,我有一些像上面的图像。唯一的问题是窗口的框架。到目前为止我一直在使用:

setWindowFlags(Qt.FramelessWindowHint) 

但我刚刚意识到,这个标志没有框架(因为它是“无框架”)而没有框架我无法通过拖动边框调整窗口大小。

我已经尝试过CustomizeWindowHint标志,但标题栏仍然存在,只是没有图标,名称和按钮。

临时解决方案是通过安装eventFilter检测鼠标进入窗口,获取其位置,如果它在边框上,则我们必须更改光标图标(向上,向左,向下,向左,向下,向下,...)如果用户拖动,则计算并调整窗口大小。

另一个解决方案是在窗口的每个角落设置8个QSizegrip,但是我们必须以某种方式隐藏这些夹子并确保它们不占用任何空间,因为我们将在标题栏的顶部添加3个夹点所以这将是丑陋的。

但我真的不喜欢这些解决方案。那么无论如何我可以隐藏标题栏并保留框架

0 个答案:

没有答案