我注意到来自QMdiarea的窗口需要定制样式。我想删除qmdusubwindow窗口小部件左上角的图标,同时将这个难看的蓝色窗口更改为看起来不错的颜色
我已尝试使用setWindowsflag,但没有效果
代码:
class Mywindow(QtWidgets.QMainWindow):
def __init__(self, parent=None):
super(Mywindow, self).__init__(parent)
self.setMinimumSize(QtCore.QSize(800,600))
self.setWindowTitle('Customized style')
self.mdiarea = QtWidgets.QMdiArea()
self.setCentralWidget(self.mdiarea)
self.mdiarea.setWindowTitle('Test')
self.window = QtWidgets.QWidget()
self.mdiarea.addSubWindow(self.window)
if __name__ == '__main__':
import sys
app = QtWidgets.QApplication(sys.argv)
app.setStyle('Fusion')
view = Mywindow()
view.showMaximized()
sys.exit(app.exec_())
当前显示:
希望获得:
你知道怎么做到吗
至少有两种解决方案:
1。使用Qt样式表
您必须使用qmdusubwindow:title的“background”属性来更改颜色,要删除图标,诀窍是向其传递一个透明颜色的图标
正如你在我的操作系统中所看到的,中间有一个白色的颜色,这是不希望用来着色子窗口的标题的,也许在另一个操作系统中它不会产生这个问题。p>
2。使用QProxyStyle
在这种情况下,可以修改样式,使其成为比上一个更健壮的解决方案,并且不应有其他样式。对于一个简单的操作,我创建了一个定制的QMBwindow
试试看:
相关问题 更多 >
编程相关推荐