Python Qt Designer 初探

代码下载在最下面

#开发环境安装#

        本示例在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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

腾讯和香港中文大学发布文字生成视频AI模型DynamiCrafter

前言 在数字化时代,视觉内容的创造和动态化已成为创意表达和信息传递的重要工具。最近由香港中文大学、腾讯AI Lab联合研发的视频AI模型DynamiCrafter,这一模型能够将静态图像转化为逼真的动态视频,开创了文本到视频生成技术的新纪元。 Hugg…

matlab 将矩阵写入文件

目录 一、概述1、算法概述2、主要函数二、将矩阵写入到文本文件三、将矩阵写入电子表格文件四、将矩阵写入指定的工作表和范围五、将数据追加到电子表格六、将矩阵数据追加到文本文件七、参考链接本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此…

Go微服务实战——服务的监控与链路追踪(监控数据可视化)

链路追踪背景 对于早期系统或者服务来说,开发人员一般通过打日志的方式来进行埋点(常用的数据采集方式),然后再根据日志系统和性能监控定位及分析问题。对于单体的应用通过日志系统完全可以定位到问题,从而排查异常。…

MySQL B+树索引 和 Redis 中跳表索引的区别

一、MySQL B树索引 和 Redis 中跳表索引 在 MySQL 中常用的索引是 B树索引,而 Redis 中,例如 zset 使用的的是跳表索引,两者有什么区别呢,MySQL 为什么不使用 跳表 呢?或者说 Redis 中为什么不使用 B树 呢&#xff1f…

【Flutter 面试题】Flutter如何进行本地存储和缓存数据?

【Flutter 面试题】Flutter如何进行本地存储和缓存数据? 文章目录 写在前面口述回答补充说明实际案例完整代码示例运行结果详细说明 写在前面 🙋 关于我 ,小雨青年 👉 CSDN博客专家,GitChat专栏作者,阿里云…

分布式之Skywalking

Skywalking skywalking是一个apm系统,包含监控,追踪,并拥有故障诊断能力的 分布式系统 一、Skywalking介绍 1.什么是SkyWalking Skywalking是由国内开源爱好者吴晟开源并提交到Apache孵化器的产品,它同时吸收了Zipkin /Pinpoint …

力扣Lc19--- 268. 丢失的数字(java版)-2024年3月20日

1.题目描述 2.知识点 (1)比如数组里面有n个数,然后计算这n个数的总和(用等差求和数列计算),然后减去数组的和,用总和减去数组和即为所得 (2)加强型 for 循环(也称为 for-each 循环&…

[C语言]指针笔试题

题一、 //结构体的大小是20个字节 struct Test{int Num;char *pcName;short sDate;char cha[2];short sBa[4];}*p;//假设p 的值为0x100000。 如下表表达式的值分别为多少? //已知,结构体Test类型的变量大小是20个字节 int main(){printf("%p\n"…

【transformer模型】一篇文章讲透

目录 引言 一、引言 二、Transformer模型的基本结构 1 编码器(python代码片段) 2 解码器 三、自注意力机制的工作原理 四、Transformer模型的应用场景 1 机器翻译 2 文本摘要 3 情感分析 4 语音识别 五、Transformer模型的发展现状及未来趋势…

【C语言】结构体内存对齐问题

1.结构体内存对齐 我们已经基本掌握了结构体的使用了。那我们现在必须得知道结构体在内存中是如何存储的?内存是如何分配的?所以我们得知道如何计算结构体的大小?这就引出了我们今天所要探讨的内容:结构体内存对齐。 1.1 对齐规…

Python利用pygame实现飞机大战游戏

文章目录: 一:运行效果 1.演示 2.思路和功能 二:代码 文件架构 Demo 必备知识:python图形化编程pygame游戏模块 一:运行效果 1.演示 效果图◕‿◕✌✌✌ Python利用pygame实现飞机大战游戏运行演示 参考&#x…

web集群-lvs-DR模式基本配置

目录 环境: 一、配置RS 1、安装常见软件 2、配置web服务 3、添加vip 4、arp抑制 二、配置LVS 1、添加vip 2、安装配置工具 3、配置DR 三、测试 四、脚本方式配置 1、LVS-DR 2、LVS-RS 环境: master lvs 192.168.80.161 no…

YOLOv5改进系列:新的颈部Eff-QAFPN(Efficientrep)结构助力涨点

一、论文理论 本文提出一种硬件友好的卷积神经网络结构,该结构类似于repvgg。在衡量网络效率时,经常使用Flops或者参数量,这些衡量指标对于硬件计算能力和内存带宽不敏感。因此,如何设计一个神经网络架构,使其有效地利用硬件计算能力和内存带宽是至关重要的。 论文地址:E…

Docker如何端口映射?

Docker是一种流行的开源容器化平台,它允许开发者将应用程序和其依赖资源打包到一个称为容器的可移植单元中。Docker提供了强大的管理和部署工具,使得应用程序可以在不同的环境中运行,无需担心环境配置的问题。在使用Docker部署应用程序时&…

【动态规划】【同余前缀和】【多重背包】[推荐]2902. 和带限制的子多重集合的数目

本文涉及知识点 动态规划汇总 C算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 C算法:滑动窗口总结 多重背包 LeetCode2902. 和带限制的子多重集合的数目 给你一个下标从 0 开始的非负整数数组 nums 和两个整数 l 和 r 。 请你…

golang常用库之-golang常用库之-ladon包 | 基于策略的访问控制

文章目录 golang常用库之-ladon包 | 基于策略的访问控制概念使用策略 条件 Conditions自定义conditionLadon Condition使用示例 持久化访问控制(Warden) 结合 Gin 开发一个简易 ACL 接口参考 golang常用库之-ladon包 | 基于策略的访问控制 https://github.com/ory/ladon Lado…

7 配置模板虚拟机

使用远程连接工具finalShell连接虚拟机后,接下来我们使用yum命令完成一些基础软件包的安装,以及将咱们新建的用户赋予管理员权限,最后关闭防火墙和卸载自带的JDK。 1. 安装epel-release 我们将使用yum命令进行安装,首先测试是否与…

海外重要行业媒体:知名服务商IntoTheBlock现已集成波场TRON网络分析数据

近日,领先链上分析服务提供商 IntoTheBlock 宣布已将波场 TRON 网络集成至其市场情报套件。该合作引发多家海外加密媒体关注,Crypto Slate、Crypto Briefing等均对此进行了报道,称此次合作意义深远,能帮助数百万用户更深入地了解波场TRON生态系统。 报道表示,波场TRON网络规模大…

AI时代Python金融大数据分析实战:ChatGPT让金融大数据分析插上翅膀

❤️作者主页:小虚竹 ❤️作者简介:大家好,我是小虚竹。2022年度博客之星评选TOP 10🏆,Java领域优质创作者🏆,CSDN博客专家🏆,华为云享专家🏆,掘金年度人气作…

[pytorch] detr源码浅析

[pytorch] detr源码浅析 1. backbone部分2. encoder部分3. decoder部分4. 输出预测 为之后SAM的代码分析做铺垫 1. backbone部分 detr.py中的DETR class class DETR(nn.Module):def __init__(self, backbone, transformer, num_classes, num_queries, aux_lossFalse):...def …