如何使用PyQt4创建自定义窗口标题栏?

时间:2014-05-17 15:43:33

标签: python css user-interface pyqt4

我找到了一种为我的PyQt4应用程序自定义窗口标题栏的方法。据我所知,为此目的不可能使用Style-sheet。相反,我必须用

隐藏标题栏
.setWindowFlags(QtCore.Qt.FramelessWindowHint) 

并实现我自己的标题栏。这是我感到困惑的地方,因为我看到有人使用QHboxlayout QLabel(用于窗口标题名称)和QButton(用于退出,最大,最小动作)来制作一个像此

enter image description here

他用Style-Sheets来装饰每个小部件。对于简单的标题栏来说,这可能很好。但是,如果我想要更复杂的标题栏呢?

enter image description here

我认为仅通过改变Style-Sheets属性就会给我这种外观。

所以,我的问题是,是否可以在PyQt4中创建这样一个复杂的标题栏?如果是这样,作为一个初学者,我应该看什么?我将自己挖掘和学习这个概念,我只需要一些指示。

1 个答案:

答案 0 :(得分:0)

也许我回答太迟了,但无论如何,我只是让你知道我自己拾取的一些东西。首先,很容易创建这样一个复杂的"标题栏和使用PyQt4的UI。我建议你阅读这篇文章

Stacking QPushButtons on the other side of a QMenuBar

最大/最小/关闭按钮的UI可以使用样式表来实现 - 您必须对其进行大量修补。如果您无法将代码从Qt4调整到PyQt4,您可以给我发邮件,我会尽力帮助您。