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

mac 使用 PyQt5 和 py_designer 搭建窗体

mac 使用 PyQt5 和 py_designer 搭建窗体

本文主要讲解在mac上如何使用 PyQt5 和 py_designer 搭建窗体。本文目录如下:

  • 使用anaconda配置虚拟环境
  • 使用pip安装qt和designer
  • 使用py designer编辑你的窗体
  • 将.ui文件转换为.py文件
  • 测试/后端序

本文参考资料如下:

"Macos环境下pyqt5、Designer、Pyuic、PyCharm集成环境设置"https://blog.csdn.net/icerose/article/details/122745507

"Qt Designer快速入门"https://www.bilibili.com/read/cv14305733


使用anaconda配置虚拟环境

这一步骤为选做。若要配置环境,可以参考文章:mac 配置 anaconda 。参考文章链接https://blog.csdn.net/qq_43369406/article/details/126732435

使用pip安装qt和designer

在terminal-bash中输入source activate [your virtual envrionment进入你的虚拟环境。在虚拟环境中输入如下内容安装pyqt5和designer。

pip install PyQt5==5.15.7 -i https://pypi.tuna.tsinghua.edu.cn/simple	# 使用清华源
pip install pyqt5-tools	# 目前源上没有

在这里使用了清华镜像源,当然你可以使用别的源:

# 清华源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

# 或:
# 阿里源
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
# 腾讯源
pip config set global.index-url http://mirrors.cloud.tencent.com/pypi/simple
# 豆瓣源
pip config set global.index-url http://pypi.douban.com/simple/

qt designer是一款可视化编辑/设计软件,能够帮助你摆脱pyqt前端知识的繁忙学习。

使用py designer编辑你的窗体

我们需要找到你刚才安装的designer.app在哪。他一般存在在你的虚拟环境的lib的pythonx.x/site-packages中,当然你也可以直接在finder中查找,如笔者的designer.app就在/Users/yingmuzhi/anaconda3/envs/conda_OCT/lib/python3.8/site-packages/qt5_applications/Qt/bin 中。

请添加图片描述

我们找到该app后双击打开便进入了可视化编辑模式,你可以按照自己的喜欢添加label, botton等component, 来创建自己需要的窗体。app的使用可以参考https://www.bilibili.com/read/cv14305733

编辑完毕后我们保存该文件,生成.ui文件

请添加图片描述

将.ui文件转换为.py文件

为了能够更好地调用界面的逻辑,我们需要生成.py文件。.ui文件类似xml,用textexit打开如下:

请添加图片描述

接下来我们要在terminal中将.ui文件转换为.py文件。我们在terminal中找到刚才编辑的ui文件,输入如下代码生成testQt.py文件:

python -m PyQt5.uic.pyuic [your file name].ui -o [your file name].py 

在这里插入图片描述

测试/后端序

创建main.py文件用于测试刚才生成的文件,main.py内容如下:

# 第二行中testQt改成刚才你生成的.py文件的文件名
from testQt import *
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow


class CamShow(QMainWindow, Ui_MainWindow):
    def __init__(self, parent=None):
        super(CamShow, self).__init__(parent)
        self.setupUi(self)


if __name__ == "__main__":
    app = QApplication(sys.argv)
    ui = CamShow()
    sys.exit(app.exec_())

运行后,我们能看到刚才生成的窗体程序
在这里插入图片描述

至此,窗体前端和测试完成,如果你需要什么交互事件,可以参考资料后,在main.py中增加你需要的交互函数,keep on learning。

相关文章:

  • 嵌入式SQL开发
  • 对于HTTP协议,什么是长连接和短连接?
  • ReentrantLock读写锁
  • leetcode 1680. Concatenation of Consecutive Binary Numbers(连接连续的二进制数)
  • Python数据分析之时间序列的处理
  • 【PHP】如何搭建服务器环境 原生篇 | Ubuntu 18.04 + PHP8.1 + MySQL5.7 + Nginx 1.4
  • 【c语言】数据在内存中的存储
  • 数据结构考试必须要掌握的重点知识
  • 进程管理4——进程优先级
  • 外网访问内网80端口【内网穿透】
  • Android性能优化技术,在大厂中为何这么看重?进大厂必学好
  • 基于自建数据集【海底生物检测】使用YOLOv5-v6.1/2版本构建目标检测模型超详细教程
  • 水平分表之基因法
  • Gorm笔记
  • 抽空做了个“胃肠镜”,唠唠嗑
  • 11111111
  • Angular4 模板式表单用法以及验证
  • Angularjs之国际化
  • canvas绘制圆角头像
  • DataBase in Android
  • Docker入门(二) - Dockerfile
  • emacs初体验
  • JAVA多线程机制解析-volatilesynchronized
  • js数组之filter
  • laravel 用artisan创建自己的模板
  • Linux后台研发超实用命令总结
  • MySQL QA
  • Netty 4.1 源代码学习:线程模型
  • Python打包系统简单入门
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • Terraform入门 - 1. 安装Terraform
  • Theano - 导数
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 利用DataURL技术在网页上显示图片
  • 判断客户端类型,Android,iOS,PC
  • 网络应用优化——时延与带宽
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 学习笔记:对象,原型和继承(1)
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • Android开发者必备:推荐一款助力开发的开源APP
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • #162 (Div. 2)
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • ()、[]、{}、(())、[[]]命令替换
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (十一)c52学习之旅-动态数码管
  • (推荐)叮当——中文语音对话机器人
  • (转)我也是一只IT小小鸟
  • .FileZilla的使用和主动模式被动模式介绍
  • .libPaths()设置包加载目录
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .Net 应用中使用dot trace进行性能诊断
  • .NET/C# 将一个命令行参数字符串转换为命令行参数数组 args