一、安裝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/zh-hant/n/297839.html