Python Qt Designer 初探

news2024/11/18 8:36:52

代码下载在最下面

#开发环境安装#

        本示例在Windows11下, 使用VSCode开发, Python 3.12.2,  Qt Designer 5.11

VSCode插件Python、Python Debugger、PYQT Integration、Pylance

(准备) VSCode自行官网下载 Visual Studio Code - Code Editing. Redefined

(准备) Python 直接上官网下载安装 Download Python | Python.org

(准备) Qt Designer 5.11安装包 可以自行下载或以下百度下载   

链接:https://pan.baidu.com/s/10J34p7YPC9ivtJoD5-JAtQ 
提取码:3t2t

VSCode插件如下:

安装pip:

  基本是可以忽略的,python新版都自动安装了pip,注意一下“配置环境-->>Python环境变量”中 是否已经配置了.否则基本是运行不了python和pip的,还有第10的建议

  1. 首先确保已经正确地安装了Python。如果没有安装Python,需要先从官网(https://www.python.org/)上下载并安装最新版本的Python。

  2. 打开命令提示符或者终端窗口。

  3. 输入以下命令来检查当前系统中是否已经存在pip:pip --version。如果显示类似于"pip x.x.x from ... (python x.x)"的信息,则表示pip已经安装好了。

  4. 如果未能成功运行第三步的命令,说明还没有安装pip

  5. 访问 https://bootstrap.pypa.io/get-pip.py 这个URL,将其内容复制到文件中,然后保存为 get-pip.py

  6. 使用命令提示符或终端窗口导航到保存了 get-pip.py 文件的目录。

  7. 运行以下命令来安装pip:python get-pip.py。等待安装完成。

  8. 安装完成后,再次运行 pip --version 命令来验证pip是否成功安装。应该会显示pip的版本号。

  9. 现在就可以通过pip来管理Python包了。比如,可以使用 pip install package_name 命令来安装特定的Python包。

  10. 最后建议:在终端输入 更新一下pip的版本

    python -m pip install --upgrade pip

安装QT

我用的是PyQt5,安装命令在终端运行, 直接安装很慢,可以加入阿里镜像

pip install PyQt5 -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

再次安装PyQt5-tools,安装命令在终端运行, 安装后很大程度会报一些异常错误,没管它,后面还是是可以正常使用

pip install PyQt5-tools -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

#配置环境#

Python环境变量

Windows下需要配置检查一下Python的环境变量是否有了,我的电脑 右键 -》属性-》高级系统设置-》环境变量,找到“系统变量”中的“Path” 加入Python的安装路径和Scripts的路径

VSCode插件PYQT Integration配置

打开VSCode 扩展, 找到前面安装好的 PYQT, 点开设置->扩展设置

第3处,注意是设置 Pyuic:Cmd 和 Qtdesigner:Path 的路径  (记得都要加入.exe可运行文件)

     Pyuic:Cmd 的安装路径在Python安装目录Scripts下,

     Qtdesigner:Path的安装路径就是签名百度盘下载过来自行安装的位置

到处如果都没有什么问题, 那么就可动手码代码了.

#创建UI代码, PYQT和Qt Designer的使用#

代码目录结构如下:

1、安装以上的各种后,配置好插件PYQT,在VSCode项目区 空白处右键,可以出现下图“PYQT:New Form” 这个可以直接打开前面配置的Qt Designer进行页面创建

2、如果在已经创建好的.ui文件上右键可以出现 New ...(新建窗口), Preview ...(预览窗口), Edit...(编辑窗口), Compile...(生成Python代码UI类--常用)

每次使用Qt Designer编辑后都运行一下 Compile重新生成py UI类, 另外记得Qt Designer用完关闭一下,要不下次总会提示重新打开, 不小心就把上次的编辑给覆盖了

#上示例代码了#

直接上个代码了,UI的代码都是PYQT结合Qt Designer创建窗口,自动生成的,就不上了

启动类 Main.py

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QDialog
from Ui_frmMain import Ui_FrmMainWindow  # 导入主窗口类
from frmTestDialog import frmTestDialog

class MyMainWindow(QMainWindow):
    def __init__(self, parent=None):
        super().__init__(parent)

        # 实例化对话框类
        self.ui = Ui_FrmMainWindow()
        self.ui.setupUi(self)
        self.ui.btnLogin.clicked.connect(self.handleLogin)
        self.ui.btnExit.clicked.connect(self.handleExit)
        self.ui.btnTShowDialog.clicked.connect(self.handleShowDialog)
        self.ui.txtUser.setFocus()

    def handleLogin(self):
        user = self.ui.txtUser.text()
        pwd = self.ui.txtPass.text()
        print(f'按钮被点击了 用户名:{user},密码:{pwd}')

    def handleExit(self):
        print('退出了')
        self.close()
        
    def handleShowDialog(self):
        dialog = frmTestDialog()
        result = dialog.exec_()
        if result == QDialog.Accepted:
            print('用户同意了')
        else:
            print('用户拒绝了')

if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = MyMainWindow()
    window.show()

    sys.exit(app.exec_())

Dialog窗口 frmTestDialog.py

from PyQt5.QtWidgets import QDialog
from Ui_test_dialog import Ui_testDialog  # 导入对话框类

class frmTestDialog(QDialog):
    def __init__(self):
        super().__init__()

        # 实例化对话框类
        self.ui = Ui_testDialog()
        self.ui.setupUi(self)

示例运行效果:

代码下载地址: https://download.csdn.net/download/sontin/89001160

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1540545.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux进程的管理和进程的状态

进程的基本概念: 程序的一个执行实例 ,正在执行的程序等等 ——— 课本概念 担当分配系统资源的实体,例如cpu时间,内存 -----内核的观点 一、进程的管理 processbar 存储在磁盘中的可执行文件 可执行文件在启动/运行的同时&…

Photoshop 工具使用详解(全集 · 2024版)

全面介绍 Photoshop 工具箱里的工具,点击下列表格中工具名称或图示,即可查阅工具的使用详解。 移动工具Move Tool移动选区、图层和参考线。画板工具Artboard Tool创建、移动多个画布或调整其大小。moVe快捷键:V 矩形选框工具 Rectangular Mar…

mac硬盘拷贝到另外硬盘 苹果电脑怎么拷贝到移动硬盘

在当今的信息时代,数据的存储和传输是我们日常生活和工作中不可或缺的一部分。我们经常需要使用各种硬盘来保存和备份我们的数据,比如内置硬盘、移动硬盘、U盘等。但是,不同的硬盘可能使用不同的文件系统,这给我们的数据拷贝带来了…

C++11:左值与右值|移动构造|移动赋值

​ 🎬慕斯主页:修仙—别有洞天 ♈️今日夜电波:マイノリティ脈絡—ずっと真夜中でいいのに。 0:24━━━━━━️💟──────── 4:02 🔄 …

每日一题 第三十期 洛谷 [USACO1.5] [IOI1994]数字三角形 Number Triangles

[USACO1.5] [IOI1994]数字三角形 Number Triangles 题目描述 观察下面的数字金字塔。 写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。 在上面的样例中,从 7 → 3 → 8 →…

深入解析实时数仓Doris:介绍、架构剖析、应用场景与数据划分细节

码到三十五 : 个人主页 心中有诗画,指尖舞代码,目光览世界,步履越千山,人间尽值得 ! Doris是一款高性能、开源的实时分析数据仓库,旨在为用户提供毫秒级查询响应、高并发、高可用以及易于扩展的OLAP解决方…

基于“云”重构“百度云盘”

这一篇文章是和上一篇连着的哟! # docker run -p 80:80 -d -v /data/owncloud/:/var/www/html owncloud 一、【安装完成】 二、【打开浏览器】 三、【回到这个熟悉的界面,掉。】 四、【上传文件】 试了可以看哇偶!!&#xff01…

生产计划数据模型,实现能源企业数字化高效管理

随着市场经济的快速发展,能源企业在经济发展中的地位也随之提高。但由于能源企业在生产计划经济管理上存在指标不平衡、市场观念落后和环保意识欠缺等问题,导致企业的经济效益降低。目前,提高企业的生产计划管理是改善能源企业现状最有利的途…

SQLiteC/C++接口详细介绍sqlite3_stmt类(六)

返回:SQLite—系列文章目录 上一篇:SQLiteC/C接口详细介绍sqlite3_stmt类(五) 下一篇: SQLiteC/C接口详细介绍sqlite3_stmt类(七) 17. sqlite3_clear_bindings函数 sqlite3_clear_bindings函…

JavaEE--小Demo--数据库建立

目录 实验准备 本次所要新建的文件 实验步骤 step1-demo.sql 1.在resources文件夹下新建demo.sql文件 2.打开此目录,并运行命令提示符 3.打开数据库mysql -uroot -p 4.创建数据库create database demo; 5.使用数据库use demo; 6.导入数据source demo.sql;…

【OpenGL手册-21】高级GLSL编程

一、说明 这章不会向你展示什么新的功能,也不会对你的场景的视觉效果有较大提升。但是,本文能够提供最深刻的GLSL表达,也深入探讨了一些GLSL有趣的知识,它们可能在将来能帮助你。基本来说有些不可不知的内容和功能在你去使用GLSL创…

MySQL面试题--开发(最全,涵盖SQL基础、架构、事务)

MySQL面试题--事务https://mp.csdn.net/mp_blog/creation/editor/136947072 MySQL面试题--MySQL内部技术架构https://blog.csdn.net/Timebro/article/details/136946046?spm1001.2014.3001.5501 MySQL面试题--最全面-索引https://blog.csdn.net/Timebro/article/details/136…

Git Commit 提交规范,变更日志、版本发布自动化和 Emoji 提交标准

前言 Git Commit 是开发的日常操作, 一个优秀的 Commit Message 不仅有助于他人 Review, 还可以有效的输出 CHANGELOG, 对项目的管理实际至关重要, 但是实际工作中却常常被大家忽略,希望通过本文,能够帮助大家规范 Git Commit,并且展示相关 …

波奇学Linux:网络套接字

domain:ipv4 还是ipv6 type:面向字节流还是... 虚拟机 云服务器禁止直接bind公网ip 服务器可以有多个ip,如果只绑定一个ip,只能收到来自一个ip的信息 任意地址绑定 关于port的问题 [0,1024]:系统内定的端口号,一般要用固定的应…

JetPack之LiveData

目录 一、LiveData简介1.1 LiveData是什么? 二、LiveData使用2.1 LiveData基础使用2.2 LiveData搭配Service模拟后台消息2.3 LiveData在组件中的数据传递 三、LiveData应用场景 一、LiveData简介 1.1 LiveData是什么? LiveData是一种可观察的数据存储器…

[数据结构初阶]二叉树

各位读者老爷好,鼠鼠我现在浅浅介绍一些关于二叉树的知识点,在各位老爷茶余饭后的闲暇时光不妨看看,鼠鼠很希望得到各位老爷的指正捏! 开始介绍之前,给各位老爷看一张风景照,有读者老爷知道在哪里吗&#x…

02-MySQL数据库的基本使用与密码设置

一、服务端口 3306端口和33060端口,是我们启动数据库后开启的监听端口; 3306端口:是我们MySQL服务的监听端口,用来连接数据库使用; 33060端口:MySQL-shell服务的端口,MySQL-shell是MySQL架构集群…

基于霍夫检测(hough变换)的人眼瞳孔定位,Matlab实现

博主简介: 专注、专一于Matlab图像处理学习、交流,matlab图像代码代做/项目合作可以联系(QQ:3249726188) 个人主页:Matlab_ImagePro-CSDN博客 原则:代码均由本人编写完成,非中介,提供…

Java设计模式 | 抽象工厂模式

抽象工厂模式 工厂方法模式中考虑的是一类产品的生产,如幼儿园只培养小朋友,鞋厂只生产鞋子。这些工厂只生产同种类产品,同种类产品称为同等级产品,即工厂方法模式只考虑生产同等级的产品,但是在现实生活中许多工厂都…

一文读懂代理与反向代理

反向代理与正向代理在代理服务器的角色和工作方式上有所不同,这两种代理方式主要取决于代理服务器代理的对象和处理方式。 区别: 正向代理: 正向代理是代理客户端的请求,客户端通过正向代理访问其他服务或资源。客户端知道自己正…