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

pyqt5 QuickStart

  在使用pyqt5之前,建议下载一个Anaconda环境,这样下载python包更方便,本篇文章是建立在已经安装好Anaconda的情况下使用的。IDE就是标准的PyCharm了。

一、pyqt包的安装

  python终端执行下面两个安装命令:

pip install PyQt5
pip install PyQt5-tools

  安装成功后,首先看一下自己能不能找到QT Designer,路径就在:Anaconda\Lib\site-packages\qt5_applications\Qt\bin\designer.exe,如果能够看到这个基本上就安装成功了。
  参考:https://blog.csdn.net/weixin_43908875/article/details/128419990

二、QT Designer使用(获取ui文件)

  点开designer.exe,这个时候你可以使用图形化的方式设计界面了(当然也可以使用代码设计,图形化是最基础最简单的。建议简单的框架使用图形化搭建,后续高级功能使用代码进行控制),设计完后将文件保存到项目文件夹中(应该是一个ui文件)。
在这里插入图片描述

三、使用External Tools——PYUIC把ui文件转化为py文件

  设计完ui后,要想在python中使用需要进行转换。转换的工具就是pyuic,对于pyuic是放到Pycharm的External Tools中的,但是有的时候默认的时候并没有出现,也就是下面这个情况:
在这里插入图片描述
  这个情况需要我们手动添加,具体添加的步骤见这篇博客:pyqt5:PyCharm中找不到External-tools解决办法
  添加成功后,右键ui文件选择External Tools的PyUIC工具,就会生成这个ui对应的py文件,但只是这个界面对应的。

四、按照指定格式调用界面

  主程序模板:

from mainwindow import Ui_MainWindow
import sys
from PyQt5.QtWidgets import QApplication, QMainWindowdef main():# 1、创建QApplication类的实例对象app = QApplication(sys.argv)# 2、创建一个WindowClass实例对象myMainWindow = Ui_MainWindow()# 3、显示主窗口myMainWindow.show()# 4、进入程序的主循环、并通过exit函数确保主循环安全结束sys.exit(app.exec_())if __name__ == '__main__':main()

  注意:UI_MainWindow就替换成自己生成的py文件类
  经过我的实践发现,用pyuic直接生成的py文件会报错,解决方法在这个博客中:AttributeError: module ‘PyQt5.QtGui‘ has no attribute ‘QMainWindow‘
  按照如上的操作,再运行main文件就可以使用pyqt啦,当然这只是一个很简单的入门教程,更多的功能还需要后续的慢慢学习。

相关文章:

pyqt5 QuickStart

在使用pyqt5之前,建议下载一个Anaconda环境,这样下载python包更方便,本篇文章是建立在已经安装好Anaconda的情况下使用的。IDE就是标准的PyCharm了。 一、pyqt包的安装 python终端执行下面两个安装命令: pip install PyQt5 pip …...

Qt6 for Windows 环境搭建(Visual Studio)

作者: 一去、二三里 个人微信号: iwaleon 微信公众号: 高效程序员 在 Windows 中,如果想要开发 Qt 应用程序,可以选择多种方式: Qt Creator MinGW 编译器Qt Creator MSVC 编译器Visual Studio&#xff0…...

探索未知世界:桌面端3D GIS引领地理信息新时代

近年来,桌面端的三维地理信息系统(3D GIS)在地理信息领域迎来了显著的发展,为我们带来了更深入、更丰富的地理空间认知和数据分析体验。从城市规划到环境保护,从资源管理到应急响应,桌面端的3D GIS正逐渐成…...

微信小程序 趣味学习与益智游戏系统APP

管理员、用户可通过HBuilder系统手机打开系统,注册登录后可进行管理员后端;首页、个人中心、用户管理、学生分类管理、学一学管理、玩一玩管理、听一听管理、试题管理、练一练管理、系统管理、考试管理,用户前端;首页、学一学、玩…...

【单片机】UART、I2C、SPI、TTL、RS232、RS422、RS485、CAN、USB、SD卡、1-WIRE、Ethernet等常见通信方式

在单片机开发中,UART、I2C、RS485等普遍在用,这里做一个简单的介绍 UART通用异步收发器 UART口指的是一种物理接口形式(硬件)。 UART是异步(指不使用时钟同步,依靠帧长进行判断),全双工(收发…...

【Java从0到1学习】13 Java IO流

1. 流 1.1 流的概念 流(stream)的概念源于UNIX中管道(pipe)的概念。在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备、外部文件等。 一个流,必有源端和目的端,它们可以是计算机内存的…...

linux并发服务器 —— 多进程并发(四)

进程概述 程序是包含一系列信息的文件,描述了如何在运行时创建一个进程; 进程是正在运行的程序的实例,可以用一个程序来创建多个进程; 用户内存空间包含程序代码以及代码所使用的变量,内核数据结构用于维护进程状态…...

华为云Stack的学习(四)

五、Service OM资源管理 1.Service OM简介 1.1 Service OM介绍 在华为云Stack解决方案中,Service OM是FusionSphere OpenStack的操作管理界面,是资源池(计算、存储、网络)以及基础云服务的管理工具。 1.2 Service OM定位 Serv…...

Midjourney 完整版教程(从账号注册到设计应用)

目录 一、Midjourney 介绍 二、Midjourney 的AI出图示例 三、手把手教你上手Midjourney 1、账号&初始化 1.1 账号注册登录 1.2 账号付费 1.3 账号初始化 2、Midjourney的基础设置 3、Midjourney 出图步骤。 (一)直接描述出图 (二)垫图生图。 4、Midjourney的…...

保护香港服务器的方法

保护香港服务器的方法 当你把一个香港服务器完全留给一个组织、应用程序或个人使用时,它被称为香港服务器租用。在这种类型的主机配置中,客户端将会借出整个服务器,并且不允许其他任何人使用它。 如果您计划使用香港服务器,安全性…...

Redis——》Pipeline

推荐链接: 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD…...

Git企业开发控制理论和实操-从入门到深入(六)|多人协作开发

前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。 高质量博客汇总 然后就是博主最近最花时间的一个专栏…...

通过 ChatGPT 学习 Python

先决条件 您需要一个 OpenAI 帐户才能开始与 ChatGPT 交互。如果您还没有这样做,请在 OpenAI 网站上注册一个帐户。 什么是 ChatGPT? GPT(Generative Pre-training Transformer)是 OpenAI 开发的一种语言模型,它使用深度学习技术生成类似人类的文本。ChatGPT 是 GPT 模…...

开发卡牌gamefi游戏需要多少钱?

卡牌游戏作为一种受欢迎的游戏形式,吸引了众多开发者的关注。然而,开发一款成功的卡牌游戏需要全面考虑多个方面的因素,其中之一就是资金投入。本文将从专业性和投入回报的角度,探讨开发一款卡牌游戏所需的资金投入。 一、专业性的…...

linux服务TCP参数配置

Linux TCP参数配置 阿里云规范 1.【推荐】高并发服务器建议调小 TCP 协议的 time_wait 超时时间。 说明:操作系统默认 240 秒后,才会关闭处于 time_wait 状态的连接,在高并发访问下,服务器端会因为处于 time_wait 的连接数太多&am…...

部署Spring Boot项目

上传jar包 之前在新建Spring Boot项目[1]使用mvn install的方式,已经构建出jar包。 通过scp或rz/sz,将该jar包上传到服务器 执行java -jar hello-0.0.1-SNAPSHOT.jar,发生如下报错: Exception in thread "main" java.lang.Unsuppo…...

Java 中数据结构LinkedList的用法

LinkList 链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的地址。 链表可分为单向链表和双向链表。 一个单向链表包含两个值: 当前节点…...

jmeter递增压测线程组配置

jmeter递增压测线程组配置 新建线程组线程组参数详解及填写其他指标设置 新建线程组 操作位置如图: 线程组参数详解及填写 其他指标设置 其他指标设置可参考另一篇文章: 链接: jmeter 在linux服务器中执行性能测试、监听服务器资源指标...

hutool工具

Hutool是一个Java工具包 参考&#xff1a;https://www.hutool.cn/ <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>4.6.3</version> </dependency>Convert类型转换工具类 //转换为…...

Redis.conf 配置文件详解

1、units 单位 配置大小单位&#xff0c;开头定义了一些基本的度量单位&#xff0c;只支持 bytes&#xff0c;不支持bit&#xff0c;并且对大小写 不敏感。 2、INCLUDES 包含 类似于 Spring 配置文件&#xff0c;可以通过 includes 包含&#xff0c;redis.conf 可以作为总文件…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

【python异步多线程】异步多线程爬虫代码示例

claude生成的python多线程、异步代码示例&#xff0c;模拟20个网页的爬取&#xff0c;每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程&#xff1a;允许程序同时执行多个任务&#xff0c;提高IO密集型任务&#xff08;如网络请求&#xff09;的效率…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包&#xff08;Closure&#xff09;&#xff1f;闭包有什么应用场景和潜在问题&#xff1f;2.解释 JavaScript 的作用域链&#xff08;Scope Chain&#xff09; 二、原型与继承3.原型链是什么&#xff1f;如何实现继承&a…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)

本文把滑坡位移序列拆开、筛优质因子&#xff0c;再用 CNN-BiLSTM-Attention 来动态预测每个子序列&#xff0c;最后重构出总位移&#xff0c;预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵&#xff08;S…...

企业如何增强终端安全?

在数字化转型加速的今天&#xff0c;企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机&#xff0c;到工厂里的物联网设备、智能传感器&#xff0c;这些终端构成了企业与外部世界连接的 “神经末梢”。然而&#xff0c;随着远程办公的常态化和设备接入的爆炸式…...

Device Mapper 机制

Device Mapper 机制详解 Device Mapper&#xff08;简称 DM&#xff09;是 Linux 内核中的一套通用块设备映射框架&#xff0c;为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程&#xff0c;并配以详细的…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!

简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求&#xff0c;并检查收到的响应。它以以下模式之一…...

Go 语言并发编程基础:无缓冲与有缓冲通道

在上一章节中&#xff0c;我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道&#xff0c;它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好&#xff0…...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...