python界面交互开发入门记录-Pyside (上)

文章介绍了如何使用PySide6进行GUI应用程序的开发,包括安装PySide6,通过QtDesigner创建界面,将UI文件转换为Python代码,两种调用UI的方式,以及如何使用PyInstaller生成可执行文件。此外,还提到了PySide2和PySide6的版本兼容性问题以及PyCharm中配置QtDesigner的方法。

PySide

此处使用pyside6,基本等同于pyqt6。
一个教程网站

注意:

  • pyside2对应qt5,pyside6对应qt6,需要注意的是pyside6编译后不支持win7.
  • pyside2支持的python版本不高,在<3.9时可能出现安装报错,此时使用低版本python虚拟环境或使用pyside6即可。

开发方式有两种,如下

  • QtWidget
    • designer开发界面(下文介绍)
    • 代码手动编辑(如上文的简单示例)
  • QML(本文暂不涉及)

下面以 Designer开发界面为例

1 安装

pip install pyside6

2 初步尝试

输入框代码

from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton, QPlainTextEdit

def handleCalc():
    print("点击了")

''' 
整个图形界面程序的底层管理功能,如初始化、程序入口参数、用户事件等 
'''
app = QApplication([])

window = QMainWindow()
window.resize(500, 400)
window.move(300, 310)
window.setWindowTitle('小试牛刀')

textEdit = QPlainTextEdit(window)
textEdit.setPlaceholderText("请输入")
textEdit.move(10,25)
textEdit.resize(300, 350)

button = QPushButton('cal', window)
button.move(380, 180)
button.clicked.connect(handleCalc)

window.show()

app.exec_()  # 保持界面框一直展现

直接运行即可
在这里插入图片描述

3 正式进入开发

在python项目的虚拟环境下,可以找到
.venv/lib/python3.9/site-packages/PySide6/Designer.app
直接双击打开即可
打开后类似vb,把控件拖拽、放大缩小即可

在这里插入图片描述

3.1 调用方式1——ui生成py调用

打开Designer后选择新建widgets,新建并各种拖拽操作编辑界面。

再次提醒:需要新建为widget使用如下示例。使用mainwindow则会报错,需要另外对应的引用方式,不在本文内描述。

3.1.1 生成py文件

在拖拽编辑完成后,保存得到ui文件
使用命令行执行如下即可,得到py文件置入项目文件供之后引用

pyside6-uic hello.ui > ttt.py

在这里插入图片描述

3.1.2 py代码调用

新建py文件代码如下,调用上面ui生成的py文件

from PySide6.QtWidgets import QApplication, QMainWindow
import ttt

class MainWindow(ttt.Ui_Form, QMainWindow):
    def __init__(self):
        super(MainWindow, self).__init__()
        # 使用ui文件导入定义界面类
        self.ui = ttt.Ui_Form()  # 引用已绘制的界面
        # 初始化界面
        self.ui.setupUi(self)

app = QApplication([])
window = MainWindow()
window.show()

app.exec()

得到结果如下
在这里插入图片描述

3.2 调用方式2——动态加载ui

直接使用方法1生成的ui。
这里调用不限于在Designer中新建何种类型的ui
本方法比调用方式1方便,建议使用。

from PySide6.QtWidgets import QApplication, QMainWindow
from PySide6.QtUiTools import QUiLoader

class Stats:
    def __init__(self):
        self.ui = QUiLoader().load('test.ui')

app = QApplication([])
stats = Stats()
stats.ui.show()
app.exec()

4 生成可执行文件

安装依赖包
pip install pyinstaller
然后执行

pyinstaller -F -w --icon="favicon.ico" scoresProcess.py 

pyinstaller参数

(可参考pyinstaller官网介绍
-h,–help 查看该模块的帮助信息
-F,-onefile 产生单个的可执行文件
-D,–onedir 产生一个目录(包含多个文件)作为可执行程序
-a,–ascii 不包含 Unicode 字符集支持
-d,–debug 产生 debug 版本的可执行文件
-w,–windowed,–noconsole 指定程序运行时不显示命令行窗口(仅对 Windows 有效)
-c,–nowindowed,–console 指定使用命令行窗口运行程序(仅对 Windows 有效)
-o DIR,–out=DIR 指定 spec 文件的生成目录。如果没有指定,则默认使用当前目录来生成 spec 文件
-p DIR,–path=DIR 设置 Python 导入模块的路径(和设置 PYTHONPATH 环境变量的作用相似)。也可使用路径分隔符(Windows 使用分号,Linux 使用冒号)来分隔多个路径
-n NAME,–name=NAME 指定项目(产生的 spec)名字。如果省略该选项,那么第一个脚本的主文件名将作为 spec 的名字

附: Pycharm工具配置

找到需要配置的的工具QtDesigner的位置
brew info qt
可以看到
/opt/homebrew/Cellar/qt/6.4.2/bin/Designer
配置到pycharm-设置-工具-外部工具
配置界面
运行
工具-External Tools-QtDesigner
在这里插入图片描述
运行后
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值