一文直接入门Python Pyside6
Pyside6介绍
PySide6 是 Qt 框架的 Python 绑定,允许开发者使用 Python 编写跨平台的 GUI 应用程序。Qt 是一个功能强大的 C++ 框架,广泛用于开发桌面、嵌入式和移动应用。PySide6 是 Qt 6 的官方 Python 绑定,由 Qt 公司维护。
主要特点
-
跨平台:支持 Windows、macOS、Linux 等操作系统。
-
丰富的组件:提供按钮、文本框、表格、树形视图等多种 UI 组件。
-
信号与槽机制:用于对象间通信,是 Qt 的核心特性。
-
国际化支持:内置多语言支持,便于开发全球应用。
-
强大的工具:包括 Qt Designer 用于可视化设计 UI,以及 QML 用于声明式 UI 开发。
核心模块
QtWidgets:提供传统桌面应用的 UI 组件。
QtCore:包含核心非 GUI 功能,如信号与槽、事件循环。
QtGui:提供图形和图像处理功能。
安装
pip install PySide6
入门案例
import sys
from PySide6.QtWidgets import QApplication, QWidget
if __name__ == '__main__':
app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle('win')
window.resize(300,300)
window.show()
sys.exit(app.exec())
app = QApplication(sys.argv)
这里创建了一个 QApplication
实例。sys.argv
是命令行参数列表,传给 QApplication
的构造函数,以便应用程序可以处理命令行参数。
window = QWidget(), 创建了一个 QWidget
实例,它是应用程序的主窗口。
window.setWindowTitle('win') ,设置窗口的标题为 'win'
。
window.resize(300, 300), 调整窗口的大小为 300 像素宽和 300 像素高。
window.show() ,使窗口在屏幕上可见。如果不调用 show()
方法,窗口将不会显示。
sys.exit(app.exec()), app.exec() 是一个无限循环,它等待可能发生的事件(如鼠标点击、按键等),并对它们做出响应。当应用程序结束时(例如,用户关闭了主窗口),事件循环会退出,sys.exit() 被调用以退出程序。
使用Qt Designer
在Scripts目录下找到pyside6-designer.exe打开。
创建窗口
在窗口部件中拖动出Label、LineEdit、PushButton控件,按照图片控件位置进行排列。
修改成如下所示
将标签为姓名的右侧输入框的objectName 中的值改为 uname,学号右侧输入框的objectName中的值改为unumber,将打印按钮的objectName中的值改为btnPrint
改完后看对象检查器,如图所示。
保存为ui文件
1、
2、保存到指定对应对的项目中,命名为student.ui
3、将student.ui转为python代码
在pycharm中进入终端输入 pyside6-uic student.ui -o student.py
多了个student.py文件
4、导入student.py文件
import sys
from PySide6.QtWidgets import QApplication, QWidget
import student
if __name__ == '__main__':
app = QApplication(sys.argv)
window = QWidget()
ui = student.Ui_Form()
ui.setupUi(window)
window.show()
sys.exit(app.exec())
5、运行
信号与自定义槽
ui.btnPrint.clicked.connect(printNameAndNumber);
自定义槽,clicked为信号,按钮点击的时候触发。connect()中写入被绑定的槽也就是对应的函数。
import sys
from PySide6.QtWidgets import QApplication, QWidget
import student
def printNameAndNumber():
print('姓名 '+ ui.uname.text())
print('学号 ' + ui.unumber.text())
if __name__ == '__main__':
app = QApplication(sys.argv)
window = QWidget()
ui = student.Ui_Form()
ui.setupUi(window)
ui.btnPrint.clicked.connect(printNameAndNumber)
window.show()
sys.exit(app.exec())
打包
PyInstaller 是一个用来将 Python 程序打包成独立可执行文件的工具,这样在没有安装 Python 解释器的机器上也可以运行。
pip install pyinstaller
pyinstall main.py
打开main.exe
作者:不爱吃鱼的猫-