本文共 7207 字,大约阅读时间需要 24 分钟。
PyQt5介绍
pyqt5是一套Python绑定Digia QT5应用的框架。它可用于Python 2和3。本教程使用Python 3。Qt库是最强大的GUI库之一。pyqt5的官方网站http:。 pyqt5的类别分为几个模块,包括以下:QtCore:包含了核心的非GUI功能。此模块用于处理时间、文件和目录、各种数据类型、流、URL、MIME类型、线程或进程。
QtGui包含类窗口系统集成、事件处理、二维图形、基本成像、字体和文本。 qtwidgets模块包含创造经典桌面风格的用户界面提供了一套UI元素的类。 QtMultimedia包含的类来处理多媒体内容和API来访问相机和收音机的功能。 Qtbluetooth模块包含类的扫描设备和连接并与他们互动。描述模块包含了网络编程的类。这些类便于TCP和IP和UDP客户端和服务器的编码,使网络编程更容易和更便携。 Qtpositioning包含类的利用各种可能的来源,确定位置,包括卫星、Wi-Fi、或一个文本文件。 Enginio模块实现了客户端库访问Qt云服务托管的应用程序运行时。 Qtwebsockets模块包含实现WebSocket协议类。 QtWebKit包含一个基于Webkit2图书馆Web浏览器实现类。 Qtwebkitwidgets包含的类的基础webkit1一用于qtwidgets应用Web浏览器的实现。 QtXml包含与XML文件的类。这个模块为SAX和DOM API提供了实现。 QtSvg模块提供了显示SVG文件内容的类。可伸缩矢量图形(SVG)是一种描述二维图形和图形应用的语言。 QtSql模块提供操作数据库的类。 QtTest包含的功能,使pyqt5应用程序的单元测试 安装pyqt5pip install pyqt5pip install pyqt5-tools
简单例子:
import sysfrom PyQt5.QtWidgets import QApplication, QWidgetfrom PyQt5.QtGui import QIconimport sysfrom PyQt5.QtWidgets import QApplication, QWidgetfrom PyQt5.QtGui import QIconclass Example(QWidget): def __init__(self): super().__init__() self.initUI() # 界面绘制交给InitUi方法 def initUI(self): # 设置窗口的位置和大小 #self.setGeometry(positionX, PositionY, Length, width) self.setGeometry(300, 300, 300, 200) # 设置窗口的标题 self.setWindowTitle('python pyqt5 learning') # 设置窗口的图标,引用当前目录下的web.png图片 self.setWindowIcon(QIcon('python.jpg')) # 显示窗口 self.show()if __name__ == '__main__': # 创建应用程序和对象 app = QApplication(sys.argv) execute = Example() sys.exit(app.exec_())按钮及提示语
import sysfrom PyQt5.QtWidgets import QWidget, QToolTip,QPushButton, QApplicationfrom PyQt5.QtGui import QFont, QIconclass Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): # 这种静态的方法设置一个用于显示工具提示的字体。我们使用10px滑体字体。 QToolTip.setFont(QFont('SansSerif', 10)) # 创建一个提示,我们称之为settooltip()方法。我们可以使用丰富的文本格式 self.setToolTip('This is a QWidget widget') # 创建一个PushButton并为他设置一个tooltip btn = QPushButton('Button', self) btn.setToolTip('This is a QPushButton widget') # btn.sizeHint()显示默认尺寸 btn.resize(btn.sizeHint()) # 移动窗口的位置 btn.move(50, 50) self.setGeometry(300, 300, 300, 200) self.setWindowTitle('python pyqt5 learning') self.setWindowIcon(QIcon('python.jpg')) self.show()if __name__ == '__main__': app = QApplication(sys.argv) execute = Example() sys.exit(app.exec_())关闭窗口
import sysfrom PyQt5.QtWidgets import QWidget, QToolTip,QPushButton, QApplicationfrom PyQt5.QtGui import QFont, QIconfrom PyQt5.QtCore import QCoreApplicationclass Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): # 这种静态的方法设置一个用于显示工具提示的字体。我们使用10px滑体字体。 QToolTip.setFont(QFont('SansSerif', 10)) # 创建一个提示,我们称之为settooltip()方法。我们可以使用丰富的文本格式 self.setToolTip('This is a QWidget widget') # 创建一个PushButton并为他设置一个tooltip btn1 = QPushButton('Button', self) btn1.setToolTip('This is a QPushButton widget') btn2 = QPushButton('Quit', self) btn2.setToolTip('This is a Quit widget') # btn.sizeHint()显示默认尺寸 btn1.resize(btn1.sizeHint()) btn2.resize(btn2.sizeHint()) # 移动窗口的位置 btn1.move(50, 50) btn2.move(180, 50) btn2.clicked.connect(QCoreApplication.instance().quit) self.setGeometry(300, 300, 300, 200) self.setWindowTitle('python pyqt5 learning') self.setWindowIcon(QIcon('python.jpg')) self.show()if __name__ == '__main__': app = QApplication(sys.argv) execute = Example() sys.exit(app.exec_())关闭窗口
import sysfrom PyQt5.QtWidgets import QWidget, QToolTip,QPushButton, QApplication, QMessageBoxfrom PyQt5.QtGui import QFont, QIconfrom PyQt5.QtCore import QCoreApplicationclass Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): # 这种静态的方法设置一个用于显示工具提示的字体。我们使用10px滑体字体。 QToolTip.setFont(QFont('SansSerif', 10)) # 创建一个提示,我们称之为settooltip()方法。我们可以使用丰富的文本格式 self.setToolTip('This is a QWidget widget') # 创建一个PushButton并为他设置一个tooltip btn1 = QPushButton('Button', self) btn1.setToolTip('This is a QPushButton widget') btn2 = QPushButton('Quit', self) btn2.setToolTip('This is a Quit widget') # btn.sizeHint()显示默认尺寸 btn1.resize(btn1.sizeHint()) btn2.resize(btn2.sizeHint()) # 移动窗口的位置 btn1.move(50, 50) btn2.move(180, 50) btn2.clicked.connect(self.closeEvent) self.setGeometry(300, 300, 300, 200) self.setWindowTitle('python pyqt5 learning') self.setWindowIcon(QIcon('python.jpg')) self.show() def closeEvent(self, event): reply = QMessageBox.question(self, 'Message', "Are you sure to quit?", QMessageBox.Yes | QMessageBox.No, QMessageBox.No) if reply == QMessageBox.Yes: event.accept() else: if event: event.ignore()if __name__ == '__main__': app = QApplication(sys.argv) execute = Example() sys.exit(app.exec_())窗口在屏幕中间显示
import sysfrom PyQt5.QtWidgets import (QWidget, QToolTip,QPushButton, QApplication, QMessageBox,QDesktopWidget)from PyQt5.QtGui import QFont, QIconfrom PyQt5.QtCore import QCoreApplicationclass Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): # 这种静态的方法设置一个用于显示工具提示的字体。我们使用10px滑体字体。 QToolTip.setFont(QFont('SansSerif', 10)) # 创建一个提示,我们称之为settooltip()方法。我们可以使用丰富的文本格式 self.setToolTip('This is a QWidget widget') # 创建一个PushButton并为他设置一个tooltip btn1 = QPushButton('Button', self) btn1.setToolTip('This is a QPushButton widget') btn2 = QPushButton('Quit', self) btn2.setToolTip('This is a Quit widget') # btn.sizeHint()显示默认尺寸 btn1.resize(btn1.sizeHint()) btn2.resize(btn2.sizeHint()) # 移动窗口的位置 btn1.move(50, 50) btn2.move(180, 50) btn2.clicked.connect(self.closeEvent) self.setGeometry(300, 300, 300, 200) self.setWindowTitle('python pyqt5 learning') self.setWindowIcon(QIcon('python.jpg')) self.center() self.show() def closeEvent(self, event): reply = QMessageBox.question(self, 'Message', "Are you sure to quit?", QMessageBox.Yes | QMessageBox.No, QMessageBox.No) if reply == QMessageBox.Yes: event.accept() else: if event: event.ignore() # 控制窗口显示在屏幕中心的方法 def center(self): # 获得窗口 qr = self.frameGeometry() # 获得屏幕中心点 cp = QDesktopWidget().availableGeometry().center() # 显示到屏幕中心 qr.moveCenter(cp) self.move(qr.topLeft())if __name__ == '__main__': app = QApplication(sys.argv) execute = Example() sys.exit(app.exec_())
转载地址:http://aaben.baihongyu.com/