我正在使用PyQt5开发文本编辑器,我想创建自己的“标题栏”。 我创建了自己的标题栏,我有一些像上面的图像。唯一的问题是窗口的框架。到目前为止我一直在使用:
setWindowFlags(Qt.FramelessWindowHint)
但我刚刚意识到,这个标志没有框架(因为它是“无框架”)而没有框架我无法通过拖动边框调整窗口大小。
我已经尝试过CustomizeWindowHint标志,但标题栏仍然存在,只是没有图标,名称和按钮。
临时解决方案是通过安装eventFilter检测鼠标进入窗口,获取其位置,如果它在边框上,则我们必须更改光标图标(向上,向左,向下,向左,向下,向下,...)如果用户拖动,则计算并调整窗口大小。
另一个解决方案是在窗口的每个角落设置8个QSizegrip,但是我们必须以某种方式隐藏这些夹子并确保它们不占用任何空间,因为我们将在标题栏的顶部添加3个夹点所以这将是丑陋的。
但我真的不喜欢这些解决方案。那么无论如何我可以隐藏标题栏并保留框架?