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,默认窗口,有最小化、最大化、关闭按钮

posted @ 2020-09-16 10:39  Laney_Sun  阅读(678)  评论(0编辑  收藏  举报