10.PyQt5图形和特效-------PyQt5编程开发

一、窗口风格    

1、设置窗口风格

(1)可以为每个Widget都设置风格

        setStyle(QStyle style)

(2)获得当前平台支持的原有的QStyle样式

        QStyleFactory.keys()

(3)对QApplication设置QStyle样式

        QApplication.setStyle(QStyleFactory.create("WindowsXP")

如果其他Widget没有设置QStyle,则默认使用QApplication设置的QStyle。

下列为演示设置窗口风格的例子:

'''
  【简介】
  界面风格例子
 
  '''
   
  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(AppWidget, self).__init__(parent)
  self.setWindowTitle("界面风格例子")
  horizontalLayout = QHBoxLayout()
  self.styleLabel = QLabel("Set Style:")
  self.styleComboBox = QComboBox()
  # 增加 styles 从 QStyleFactory
  self.styleComboBox.addItems( QStyleFactory.keys())
  # 选择当前界面风格
  index = self.styleComboBox.findText(
  QApplication.style().objectName(),
  QtCore.Qt.MatchFixedString)
  # 设置当前界面风格
  self.styleComboBox.setCurrentIndex(index)
  # 通过comboBox选择界面分割
  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,弹出窗口,窗口无边框

*Qt.ToolTip,提示窗口,窗口无边框,无任务栏

*Qt.SplashScreen,闪屏,窗口无边框,无任务栏

*Qt.SubWindow,子窗口,窗口无按钮,但有标题。

猜你喜欢

转载自blog.csdn.net/qq_25973779/article/details/80060889