一、安装PyQt5模块
在开始编写PyQt5程序之前,我们需要安装PyQt5模块。使用pip工具可轻松完成安装。
$ pip install PyQt5二、创建主窗口
在PyQt5中,创建一个主窗口可以使用QMainWindow类,它是窗口的基类。
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
class Example(QMainWindow):
    def __init__(self):
        super().__init__()
        self.init_ui()
    def init_ui(self):
        self.setGeometry(300, 300, 300, 220)
        self.setWindowTitle('Example')
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    ex.show()
    sys.exit(app.exec_())三、添加组件
在创建主窗口后,我们需要添加一些组件,例如按钮、标签、文本框等等。
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QLabel, QLineEdit
class Example(QMainWindow):
    def __init__(self):
        super().__init__()
        self.init_ui()
    def init_ui(self):
        self.setGeometry(300, 300, 300, 220)
        self.setWindowTitle('Example')
        self.btn = QPushButton('Button', self)
        self.btn.move(20, 20)
        self.btn.clicked.connect(self.button_click)
        self.lbl = QLabel('Label', self)
        self.lbl.move(20, 60)
        self.txt = QLineEdit('Text', self)
        self.txt.move(20, 100)
    def button_click(self):
        self.lbl.setText('Button Clicked')
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    ex.show()
    sys.exit(app.exec_())四、布局管理器
为了使界面更加美观,我们可以使用布局管理器来管理组件的位置和大小。
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QLabel, QLineEdit, QVBoxLayout, QWidget
class Example(QMainWindow):
    def __init__(self):
        super().__init__()
        self.init_ui()
    def init_ui(self):
        self.setGeometry(300, 300, 300, 220)
        self.setWindowTitle('Example')
        central_widget = QWidget(self)
        self.setCentralWidget(central_widget)
        vbox = QVBoxLayout(central_widget)
        self.btn = QPushButton('Button', central_widget)
        vbox.addWidget(self.btn)
        self.btn.clicked.connect(self.button_click)
        self.lbl = QLabel('Label', central_widget)
        vbox.addWidget(self.lbl)
        self.txt = QLineEdit('Text', central_widget)
        vbox.addWidget(self.txt)
    def button_click(self):
        self.lbl.setText('Button Clicked')
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    ex.show()
    sys.exit(app.exec_())五、使用QMessageBox
QMessageBox是一个弹窗,用于显示消息和询问用户。
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QMessageBox
class Example(QMainWindow):
    def __init__(self):
        super().__init__()
        self.init_ui()
    def init_ui(self):
        self.setGeometry(300, 300, 300, 220)
        self.setWindowTitle('Example')
        self.btn = QPushButton('Button', self)
        self.btn.move(20, 20)
        self.btn.clicked.connect(self.button_click)
    def button_click(self):
        reply = QMessageBox.question(self, 'Message', 'Are you sure to quit?', QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
        if reply == QMessageBox.Yes:
            self.close()
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    ex.show()
    sys.exit(app.exec_())原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/297839.html
 
 微信扫一扫
微信扫一扫  支付宝扫一扫
支付宝扫一扫 