一、PyQt5介绍
PyQt5是一种创建图形界面的Python工具包,虽然其文档比其他Python GUI如wxPython略少,但其更为现代化,符合第三方Python库的标准。
PyQt5的许可证采用了GPLv3,于是它可以被安装在下载Python库的时候一并下载,这也意味着PyQt5可以被广泛地应用在不同领域的开发中。
对于初学者,PyQt5可以方便快捷地创建出很多应用程序,从简单的对话框、状态栏到复杂的主窗口等都可以轻松实现。
二、简单的PyQt5程序
下面是一个我们所以熟悉的Hello World程序的代码示例:
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel
if __name__ == '__main__':
app = QApplication(sys.argv)
window = QWidget()
label = QLabel('Hello World!', window)
window.setGeometry(0, 0, 200, 50)
window.show()
sys.exit(app.exec_())
三、使用QDialog创建对话框
对话框是处理用户响应的一个常见窗口,根据不同的输入类型不同类型的对话框可以包含资质输入、文件选择、选择器等等控件。
使用QDialog类建立对话框,QDialog继承自QtGui.QWidget类,因此它可以是一个具有标准窗口属性和方法的最小化窗口。
import sys
from PyQt5.QtWidgets import QApplication, QDialog, QPushButton
class Example(QDialog):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
btn = QPushButton('button', self)
btn.move(20,20)
btn.clicked.connect(self.close)
self.setGeometry(300, 300, 100, 100)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
ex.show()
sys.exit(app.exec_())
四、使用QMessageBox创建消息对话框
QMessageBox是处理消息的对话框,它会根据不同的类型显示出不同的标识。
下面是一个使用QMessageBox创建消息对话框的代码示例:
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QMessageBox
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('Message box')
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:
event.ignore()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
五、结语
本文简单介绍了PyQt5的基础知识并提供了一些简单的示例。PyQt5是一种适用于Python GUI界面开发的重要工具,使用它可以方便地实现对话框、消息框、窗口等常见图形界面元素。如果您希望更加深入地了解PyQt5的知识,请参考其官方文档。