当前位置: 首页 > backend >正文

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):
http://www.xdnf.cn/news/3395.html

相关文章:

  • 西门子数字化研发设计制造一体化规划案例P87(87页PPT)(文末有下载方式)
  • 神经网络—损失函数
  • Python 数据智能实战 (6):用户评论深度挖掘
  • OpenGL-ES 学习(10) ---- OpenGL-ES Shader语言语法
  • CMake中强制启用option定义变量的方法
  • Unity SpriteEditor(精灵图片编辑器)
  • C++笔记-继承(下)(包含派生类的默认成员函数,菱形继承等)
  • AJAX 实例
  • vscode 的空格和 tab 设置 与 Rime 自建词库
  • AI大模型基础设施:主流的几款开源AI大语言模型的本地部署成本
  • 企业内训|智能驾驶与智能座舱技术——某汽车厂商
  • Ubuntu18 登录界面死循环 Ubuntu进不了桌面
  • 初学Vue之记事本案例
  • 【Linux】VSCode用法
  • 【嵌入式———通用定时器基本操作——实验需求2:案列:测量PWM的频率/周期】
  • 用手机相册教我数组概念——照片分类术[特殊字符][特殊字符]
  • 构建现代分布式云架构的三大支柱:服务化、Service Mesh 与 Serverless
  • 第十一届蓝桥杯 2020 C/C++组 门牌制作
  • vue 常见ui库对比(element、ant、antV等)
  • 兰亭妙微:数据驱动的 B 端设计:如何用 UI 提升企业级产品体验?
  • 【Qt】网络
  • ZYNQB笔记(十六):AXI DMA 环路测试
  • FreeSWITCH 发送 sip message 的 lua 程序
  • 深挖Java基础之:变量与类型
  • 总结C++中的STL
  • 分布式事务,事务失效,TC事务协调者
  • 图数据库榜单网站
  • 算法每日一题 | 入门-顺序结构-字母转换
  • X²+1素数问题
  • DirectX12(D3D12)基础教程七 深度模板视图\剔除\谓词