当前位置: 首页 > news >正文

关于pyqt的一些用法

QT原生是C++,pyqt基于python语言。

关于插件:

安装一个PyUIC,一个Qt Designer

点击Qt Designer可以出来ui配置页面,和qt原生IDE基本一样
上面操作会生成.ui文件,选中此文件,点击PyUIC,会生成对应的py文件,尽量不要修改这个py文件,因为每次使用pyuic都会和cubemx一样覆盖掉之前的修改,可以新建另外一个py文件,在那个里面导入调用,调用方法如下:

import sys
import threading
import timeimport schedule
from PyQt5.QtWidgets import QApplication, QMainWindow, QGraphicsOpacityEffectfrom ST_UPPER import Ui_SCS_TOOL
from PyQt5 import QtCore, QtGui, QtWidgets, QtTest
from 设备连接测试 import Ui_Dialog as Dev_Conn_Test_uiclass MyMainWindow(QMainWindow, Ui_SCS_TOOL):def __init__(self):super(MyMainWindow, self).__init__()self.setupUi(self)def UI_Dev_Conn_Test(self, label):  #设备连接测试self.dialog = QtWidgets.QDialog()ui = Dev_Conn_Test_ui()ui.setupUi(self.dialog)# 弹出对话框并等待用户关闭if self.dialog.exec_() == QtWidgets.QDialog.Accepted:MAC_text = ui.lineEdit_MAC.text()print(MAC_text, len(MAC_text))

关于延时:

使用time.sleep()会进行阻塞式延时,整个GUI会被卡住,而且遇到了一些逻辑混乱的问题,可以使用QtTest.QTest.qWait()进行替代,实现类似非阻塞式延时

关于闪烁:

闪烁用的定时器要有触发口和依附的逻辑,建议使用schedule,使用起来更方便,但是如果当前main不是一个循序逻辑的话(一般这种带ui的不是),还需要开一个线程来运行schedule.run_pending(),想停止的话调用schedule.clear()

关于画圆:

在ui上放一个QLabel,在属性的styleSheet中输入border-radius:25px;background-color:yellow\n,就会生成一个黄色颜色的圆,圆的大小是50(geometry中的高度和宽度),这个50和25px必需是2倍关系,否则不圆

关于槽函数:

槽函数可以直接在ui中添加,点击工具栏的“编辑信号\槽”即可进行拖拽式配置,但是试了半天,不能将某个qlabel对象作为参数传给这个槽函数,所以只能将使用pyuic中生成的槽函数注释,重新绑定,例

删除生成文件中的  self.pushButton_Prog_Config.clicked.connect(SCS_TOOL.UI_Prog_Config)
在个人文件中添加 self.pushButton_Prog_Config.clicked.connect(lambda: self.UI_Prog_Config(self.label_Prog_Config))

上述中的self.label_Prog_Config就是qlabel对象,这样可以将按钮和qlabel绑定了,但是每次调用pyuic都要记得注释,否则会调用两次槽函数

关于按钮(qpushbutton)的锁定:

锁定是button.setEnabled(False) 按钮会变灰
解锁是button.setEnabled(True)
如果是配置窗口的全部按钮:

for button in self.findChildren(QtWidgets.QPushButton):button.setEnabled(False)

注意网上提到的一些方法是原生qt的,好多是C++语法的,不能使用

相关文章:

关于pyqt的一些用法

QT原生是C,pyqt基于python语言。 关于插件: 安装一个PyUIC,一个Qt Designer 点击Qt Designer可以出来ui配置页面,和qt原生IDE基本一样 上面操作会生成.ui文件,选中此文件,点击PyUIC,会生成对…...

【Paper Note】ViViT: A Video Vision Transformer

ViViT: A Video Vision Transformer AbstractOverview of vision transformer 回顾ViTEmbedding video clips 视频编码方式Uniform frame sampling 均匀采样Tubelet embedding 时空管采样初始化3D卷积代码介绍视频编码输入到模型当中 Transformer Models for VideoSpatio-tempo…...

Java入坑之IO操作

目录 一、IO流的概念 二、字节流 2.1InputStream的方法 2.2Outputstream的方法 2.3资源对象的关闭: 2.4transferTo()方法 2.5readAllBytes() 方法 2.6BufferedReader 和 InputStreamReader 2.7BufferedWriter 和 OutputStreamWriter 三、路径:…...

校园小助手【GUI/Swing+MySQL】(Java课设)

系统类型 Swing窗口类型Mysql数据库存储数据 使用范围 适合作为Java课设!!! 部署环境 jdk1.8Mysql8.0Idea或eclipsejdbc 运行效果 本系统源码地址: 更多系统资源库地址:骚戴的博客_CSDN_更多系统资源 更多系统…...

String的不可变特性

1 问题 如何理解“String是不可变的,但是可以变”? 2 方法 (1)String的不可变特性体现在内容和长度 首先在idea中点开查看String这个类是如何定义的 可以看到这样一行代码:private final char value[]; 正是因为这个数…...

使用MMDeploy(预编译包)转换MMxx(MMDeploy支持库均可)pth权重到onnx,并使用python SDK进行部署验证

MMDeploy使用python部署实践记录 准备工作空间所需环境配置使用MMDeploy得到onnx使用MMDeploy加载onnx模型对单张图片进行推理使用python SDK对onnx模型进行验证 注意 mmdeploy C SDK的使用部署和实际操作过程请看本人另外一篇博文使用MMDeploy(预编译包&#xff09…...

Shiro安全框架简介

一、权限管理 1.1 什么是权限管理 基本上只要涉及到用户参数的系统都要进行权限管理,使用权限管理实现了对用户访问系统的控制,不同的用户访问不同的资源。按照安全规则或者安全策略控制用户访问资源,而且只能访问被授权的资源 权限管理包括认…...

三行Python代码,让数据处理速度提高2到6倍

本文可以教你仅使用 3 行代码,大大加快数据预处理的速度。 Python 是机器学习领域内的首选编程语言,它易于使用,也有很多出色的库来帮助你更快处理数据。但当我们面临大量数据时,一些问题就会显现…… 在默认情况下,…...

空间向量模长

// 空间向量模长 #include <stdio.h> #include <stdlib.h> #include <math.h> int main(int argc, char **argv) { float x, y, z; float mochang 0.0; x y z 0.0; if (argc ! 4) { printf("usage:%s x y z\n", argv[1]); …...

活动需求中灵活使用Redis提升生产力

抽奖 一堆用户参与进来&#xff0c;然后随机抽取几个幸运用户给予实物/虚拟的奖品&#xff1b;此时&#xff0c;开发人员就需要写上一个抽奖的算法&#xff0c;来实现幸运用户的抽取&#xff1b;其实我们完全可以利用Redis的集合&#xff08;Set&#xff09;&#xff0c;就能轻…...

Java知识点学习(第16天)

Innodb是如何实现事务的&#xff1f; innodb通过Buffer Pool&#xff0c;LogBuffer&#xff0c;Redo Log&#xff0c;Undo Log来实现事务&#xff0c;以一个update语句为例&#xff1a; innodb在收到一个update语句后&#xff0c;会先根据条件找到数据所在的页&#xff0c;并…...

ORA-1688: unable to extend table AUDSYS.AUD$UNIFIED

昨晚正在外滩玩&#xff0c;有个客户发过来一段报错&#xff0c;已经影响到业务了。一看就是12C以后版本才有的问题&#xff0c;&#xff0c;赶紧在手机中收到临时解决办法 报错如下 ORA-1688: unable to extend table AUDSYS.AUD$UNIFIED partition SYS_P42549 by 1024 in t…...

抖音滑块以及轨迹分析

声明 本文以教学为基准、本文提供的可操作性不得用于任何商业用途和违法违规场景。 本人对任何原因在使用本人中提供的代码和策略时可能对用户自己或他人造成的任何形式的损失和伤害不承担责任。 如有侵权,请联系我进行删除。 我们在web端打开用户主页的时候,时不时的会出现滑…...

C#生成单色bmp图片,转为单色bmp图片 任意语言完全用字节拼一张单色图,LCD取模 其它格式图片转为单色图

最终效果&#xff1a; V1.8.2 20230419 文字生成单色BMP图片4.exe 默认1280*720 如果显示不全&#xff0c;请把宽和高加大 字体加大。 首先&#xff0c;用windows画板生成一张1*1白色单色图作为标准&#xff0c;数据如下&#xff1a; 数据解析参考&#xff1a;BMP图像文件完…...

【瑞吉外卖】002 -- 后台登录功能开发

本文章为对 黑马程序员Java项目实战《瑞吉外卖》的学习记录 目录 一、需求分析 1、页面原型展示 2、登录页面展示 3、查看登录请求信息 4、数据模型 二、代码开发 1、创建实体类Employee&#xff0c;和employee表进行映射 2、创建包结构&#xff1a;&#xff08;Controller、Se…...

【电动汽车充电站有序充电调度的分散式优化】基于蒙特卡诺和拉格朗日的电动汽车优化调度(分时电价调度)(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

java IO流_1

目录 分类 字节流 InputStream OutputStream 文件拷贝 字符流 FileReader FileWriter 处理流 BufferedReader BufferedWriter 文本拷贝 流是从起源到接受的有序数据&#xff0c;通过流的方式允许程序使用相同的方式来访问不同的输入/输出源。 分类 按数据…...

【回忆 总结】我的大学四年

大学四年关键词速览 如果穿越回大一&#xff0c;你想对大一的你提什么最重要的建议&#xff1f;同样是上网课&#xff0c;我为何能比大多数同学学的更好&#xff1f;回到学校&#xff0c;我的大二似乎一帆风顺&#xff1f;在不断的迷茫和徘徊中&#xff0c;大三的我做出的决定&…...

深度解析OEKO

【深度解析OEKO】 什么是OEKO-TEX Standard 100&#xff1f; OEKO-TEX Standard 100现在是使用最为广泛的纺织品生态标志。OEKO-TEX Standard 100规定的标准是根据最新的科学知识&#xff0c;对纱线、纤维以及各类纺织品的有害物质含量规定限度。只有按照严格检测和检查程序提供…...

Golang gorm

GORM 指南 | GORM - The fantastic ORM library for Golang, aims to be developer friendly. 一 对多入门 比如要开发cmdb的系统&#xff0c;无论是硬件还是软件。硬件对应的就是对应的哪个开发在用。或者服务对应的是哪个业务模块在使用&#xff0c;或者应用谁在使用。那么这…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习&#xff08;Reinforcement Learning, RL&#xff09;是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程&#xff0c;然后使用强化学习的Actor-Critic机制&#xff08;中文译作“知行互动”机制&#xff09;&#xff0c;逐步迭代求解…...

自然语言处理——Transformer

自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效&#xff0c;它能挖掘数据中的时序信息以及语义信息&#xff0c;但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN&#xff0c;但是…...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容

目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法&#xff0c;当前调用一个医疗行业的AI识别算法后返回…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)

RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发&#xff0c;后来由Pivotal Software Inc.&#xff08;现为VMware子公司&#xff09;接管。RabbitMQ 是一个开源的消息代理和队列服务器&#xff0c;用 Erlang 语言编写。广泛应用于各种分布…...

基于PHP的连锁酒店管理系统

有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发&#xff0c;数据库mysql&#xff0c;前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...

永磁同步电机无速度算法--基于卡尔曼滤波器的滑模观测器

一、原理介绍 传统滑模观测器采用如下结构&#xff1a; 传统SMO中LPF会带来相位延迟和幅值衰减&#xff0c;并且需要额外的相位补偿。 采用扩展卡尔曼滤波器代替常用低通滤波器(LPF)&#xff0c;可以去除高次谐波&#xff0c;并且不用相位补偿就可以获得一个误差较小的转子位…...

针对药品仓库的效期管理问题,如何利用WMS系统“破局”

案例&#xff1a; 某医药分销企业&#xff0c;主要经营各类药品的批发与零售。由于药品的特殊性&#xff0c;效期管理至关重要&#xff0c;但该企业一直面临效期问题的困扰。在未使用WMS系统之前&#xff0c;其药品入库、存储、出库等环节的效期管理主要依赖人工记录与检查。库…...

Java中HashMap底层原理深度解析:从数据结构到红黑树优化

一、HashMap概述与核心特性 HashMap作为Java集合框架中最常用的数据结构之一&#xff0c;是基于哈希表的Map接口非同步实现。它允许使用null键和null值&#xff08;但只能有一个null键&#xff09;&#xff0c;并且不保证映射顺序的恒久不变。与Hashtable相比&#xff0c;Hash…...

el-amap-bezier-curve运用及线弧度设置

文章目录 简介示例线弧度属性主要弧度相关属性其他相关样式属性完整示例链接简介 ‌el-amap-bezier-curve 是 Vue-Amap 组件库中的一个组件,用于在 高德地图 上绘制贝塞尔曲线。‌ 基本用法属性path定义曲线的路径,可以是多个弧线段的组合。stroke-weight线条的宽度。stroke…...

2025 后端自学UNIAPP【项目实战:旅游项目】7、景点详情页面【完结】

1、获取景点详情的请求【my_api.js】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口&#xff08;适配服务端返回 Token&#xff09; export const login async (code, avatar) > {const res await http(/login/getWXSessionKey, {code,avatar}); };//…...