当前位置: 代码网 > it编程>编程语言>Java > 【Python】使用PySide6 + Qt Designer创建简易用户界面(含用户交互)

【Python】使用PySide6 + Qt Designer创建简易用户界面(含用户交互)

2024年08月02日 Java 我要评论
置于中间设计板块中,一个简单的界面就完成了,在右侧的信息板块中我们可以修改这些组件的名称(组件较多时建议修改,方便后续代码中的引用),将其转换为.py文件(注意后续如果修改该界面改变的是.ui文件,不会改变.py文件,需要重新使用PyUIC生成新的.py文件)保存该工程文件于我们刚刚的项目文件夹中,我们可以看到一个.ui类型的文件,点击进去就可以打开我们刚刚的设计界面。并创建,可以看到,左侧是组件板块,中间是设计板块,右侧是信息板块(包含组件、信号/槽等信息)语句,如果出现如下显示,则代表pip已安装。

【python】使用pyside6 + qt designer创建简易用户界面(含用户交互)

相关代码运行环境

电脑系统:windows 11
python版本:3.12.4
使用的python开发环境:pycharm community edition 2024.1

操作过程

1.pyside6和qt designer的安装

首先需要确认是否已安装pip库,使用快捷键win+r,输入cmd打开终端,输入pip -v语句,如果出现如下显示,则代表pip已安装

已安装pip

如果没有安装成功,会提示:“pip”不是内部或外部命令,也不是可运行的程序或批处理文件,在cmd中输入以下命令进行安装:
py -m ensurepip --upgrade
在cmd中输入以下命令安装pyside6:
pip install pyside6
在以下地址安装qt designer
qt designer安装官网

2.创建外部工具pyuic和qt designer

首先说明我们所需要用到的这两个工具的作用:
qt designer:自定义用户界面(包括按钮、文本框等),完成后生成.ui文件
pyuic:将.ui文件转换为.py文件,右键运行即可看到我们之前制作的用户图形界面(以窗口展示)

新建项目以及配置环境详见之前的文章:【python】tkinter + pandas实现窗口表格显示

在我们新建的项目中,点击左上角文件->设置->工具->外部工具
我们新建外部工具,名称随意填写(自己认得出就行),工具设置中程序一栏选择designer.exe的存放位置,一般在python->lib->site_packages->pyside6

实参部分填写:$filepath$(或者不填也行)

工作目录在程序一栏填写完成后会自动填充(或者也可以填写:$projectfiledir$
如下图所示:

在这里插入图片描述

外部工具pyuic的设置同上,其中pyside6-uic.exe存放于python->scripts

实参部分填写:$filename$ -o $filenamewithoutextension$.py

工作目录在程序一栏填写完成后会自动填充(或者也可以填写:$filedir$

3.qt designer的简单使用说明

现在我们已经配置好了外部工具,在pycharm中右键我们的工程文件夹,在外部工具中找到我们刚刚设置的qt designer,打开后界面如下:

在这里插入图片描述

我们选择widget并创建,可以看到,左侧是组件板块,中间是设计板块,右侧是信息板块(包含组件、信号/槽等信息)
在左侧组件板块中选择push buttontext browser置于中间设计板块中,一个简单的界面就完成了,在右侧的信息板块中我们可以修改这些组件的名称(组件较多时建议修改,方便后续代码中的引用)

在这里插入图片描述

保存该工程文件于我们刚刚的项目文件夹中,我们可以看到一个.ui类型的文件,点击进去就可以打开我们刚刚的设计界面
右键该.ui文件,选择外部工具中的pyuic,将其转换为.py文件(注意后续如果修改该界面改变的是.ui文件,不会改变.py文件,需要重新使用pyuic生成新的.py文件)
新建.py文件,通过from “.ui生成的.py文件名” import ui_form
获取之前的ui设计,通过该新建的.py文件我们可以实现所需的功能

4.完整代码展示以及最终结果

由于代码较简单就不逐行说明了,代码中注释应该可以完整解释

import sys
from pyside6 import qtwidgets
from test1 import ui_form

count = 0


class mypyqt_form(qtwidgets.qwidget, ui_form):
    def __init__(self):
        super(mypyqt_form, self).__init__()
        self.setupui(self)  # 设置初始ui界面
        self.pushbutton.clicked.connect(self.pushbutton_click)  # 调用按钮点击函数

    def pushbutton_click(self):
        global count
        count += 1
        textline = '按下按键'+str(count)+'次'
        self.textbrowser.append(textline)
        # 打印信息至textbrowser(append打印是在之前的文本后面换行添加新文本,想覆盖之前文本打印的话可以使用settext)


if __name__ == '__main__':
    app = qtwidgets.qapplication(sys.argv)
    my_pyqt_form = mypyqt_form()
    my_pyqt_form.show()
    sys.exit(app.exec())
# 将最终界面显示在窗口

最终运行结果如下:
在这里插入图片描述

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com