Python结合QT进行开发
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, QLabelclass 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 QPushButtonbutton = QPushButton("点击我", self)
button.clicked.connect(self.on_button_clicked)def on_button_clicked(self):print("按钮被点击了!")
4.2 文本框(LineEdit)
from PySide6.QtWidgets import QLineEditlineEdit = 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 QLabellabel = QLabel("初始文本", self)
label.setAlignment(Qt.AlignCenter) # 居中对齐
4.4 复选框(CheckBox)
from PySide6.QtWidgets import QCheckBoxcheckBox = QCheckBox("选项", self)
checkBox.stateChanged.connect(self.on_checkbox_changed)def on_checkbox_changed(self, state):