PyQt5图形和特效 - 窗口风格
1. 设置窗口风格
1)可以为每个Widget都设置风格。
setStyle(QStyle style)
2)获得当前平台支持的原有的QStyle样式。
QStyleFactory.keys()
3)对QApplication设置QStyle样式。
QApplication.setStyle(QStyleFactory.create("WindowsXP"))
如果其他Widget没有设置QStyle,则默认使用QApplication设置的QStyle。
案例8-1 设置窗口风格
import sys from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5 import QtCore from PyQt5.QtGui import * class AppWidget(QWidget): def __init__(self, parent=None): super().__init__(parent) horizontalLayout = QHBoxLayout() self.styleLabel = QLabel("Set Style:") self.styleComboBox = QComboBox() # 从QStyleFactory中增加多个显示样式 self.styleComboBox.addItems(QStyleFactory.keys()) # 选择当前窗口风格 index = self.styleComboBox.findText( QApplication.style().objectName(), QtCore.Qt.MatchFixedString) # 设置当前窗口风格 self.styleComboBox.setCurrentIndex(index) # 通过comBox控件选择窗口风格 self.styleComboBox.activated[str].connect(self.handleStyleChanged) horizontalLayout.addWidget(self.styleLabel) horizontalLayout.addWidget(self.styleComboBox) self.setLayout(horizontalLayout) # 改变窗口风格 def handleStyleChanged(self, style): QApplication.setStyle(style) if __name__ == '__main__': app = QApplication(sys.argv) widgetApp = AppWidget() widgetApp.show() sys.exit(app.exec_())
2. 设置窗口样式
PyQt使用setWindowFlags(Qt.WindowFlags)函数设置窗口样式,其具体参数如下。
1)PyQt有如下几种基本的窗口类型
Qt.Widget,默认窗口,有最小化、最大化、关闭按钮
Qt.Window,普通窗口,有最小化、最大化、关闭按钮
Qt.Dialog,对话框窗口,有问号和关闭按钮
Qt.Popup,默认窗口,有最小化、最大化、关闭按钮