Python结合Qt进行开发指南
1. Qt for Python简介
Qt for Python(PySide/PyQt)是Python的官方Qt绑定,允许使用Python语言开发跨平台的GUI应用程序。PySide是Qt官方支持的Python绑定,而PyQt是Riverbank Computing提供的商业/开源版本。
主要特点:
- 跨平台支持(Windows/macOS/Linux)
- 丰富的UI组件
- 强大的信号槽机制
- 支持2D/3D图形
- 数据库集成
- 网络功能
2. 安装
使用pip安装PySide6(推荐):
pip install PySide6
安装PyQt5(商业/开源):
pip install PyQt5
# 或者商业版
pip install PyQt5-tools
3. 基础应用示例
3.1 最简单的窗口应用
import sys
from PySide6.QtWidgets import QApplication, QMainWindow, QLabel
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("我的第一个Qt应用")
self.setGeometry(100, 100, 400, 300)
label = QLabel("Hello, Qt!", self)
label.move(150, 130)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec())
4. 常用组件
4.1 按钮(Button)
from PySide6.QtWidgets import QPushButton
button = QPushButton("点击我", self)
button.clicked.connect(self.on_button_clicked)
def on_button_clicked(self):
print("按钮被点击了!")
4.2 文本框(LineEdit)
from PySide6.QtWidgets import QLineEdit
lineEdit = QLineEdit(self)
lineEdit.setPlaceholderText("请输入文本")
lineEdit.textChanged.connect(self.on_text_changed)
def on_text_changed(self, text):
print(f"文本变化: {text}")
4.3 标签(Label)
from PySide6.QtWidgets import QLabel
label = QLabel("初始文本", self)
label.setAlignment(Qt.AlignCenter) # 居中对齐
4.4 复选框(CheckBox)
from PySide6.QtWidgets import QCheckBox
checkBox = QCheckBox("选项", self)
checkBox.stateChanged.connect(self.on_checkbox_changed)
def on_checkbox_changed(self, state):