pyqt5开发ui图形化工具

ops/2025/1/20 23:15:11/

1.背景

  1. 本人系统, 网络, 内核驱动, 嵌入式开发, 之前项目没机会接触UI图形程序开发, 测试用例都是终端文字提示 OK/NG, scuuess/fail, 高级一点终端文字加高亮颜色
  2. 也曾幻想自己开发一款 软件工具/APP, 让上百万人使用, 然后被 被阿里/腾讯/…收购, 最后躺平
  3. 虽然做了程序员, 成了被压榨的牛马, 但还是有心中的一点火

2.需求

在这里插入图片描述

  1. iperf3 客户端, 服务端, 说明页面 分页实现
  2. 客户端支持选项
    1. ip 地址配置
    2. port 端口: 默认5201
    3. time测试时间
    4. proto测试协议, 默认tcp
    5. bandwith 带宽, 默认无
    6. num 测试线程数量
    7. start/stop 开始停止
    8. 输出框: 显示结果

3.实现方案

开发语言: python + pyqt5 + qt_designer(QT UI设计)

安装pyqt5

pip3 install pyqt5 

安装qt工具: designer
pip3 install pyqt5-tools

Linux 安装中文字体 --> windows不需要执行
sudo apt install -y ttf-wqy-zenhei ttf-wqy-microhei

一步一步实现

  1. pyqt5_按钮button
  2. pyqt5_设置中文字体
  3. pyqt5_文本输入框
  4. pyqt5_下拉框_combo_box
  5. pyqt5_输出框_TextEdit
  6. pyqt5_多标签_布局显示
  7. qt_designer ui设计布局示例 继承模式, 组合模式

实现上面的pyqt5 示例, 就可以自己尝试相关的功能

iperf3代码实现:

main_iperf3_继承模式.py

使用方法:

  1. qt designer 编辑ui布局: designer iperf3.ui
  2. 编译ui文件: scons
  3. 云端程序: python3 main_iperf3_继承模式.py

总结

  1. 终于完成自己开发图形程序的小心愿
  2. 后面有想法可以开发自己的图像小工具, 提高开发效率


http://www.ppmy.cn/ops/151782.html

相关文章

frameworks 之 AMS与ActivityThread交互

frameworks 之 AMS与ActivityThread交互 1. 类关系2. 流程2.1 AMS流程2.1 ActivityThread流程 3. 堆栈 讲解AMS 如何和 ActivityThread 生命周期调用流程 涉及到的类如下 frameworks/base/core/java/android/app/servertransaction/ResumeActivityItem.javaframeworks/base/cor…

Java 8 Stream API

文章目录 Java 8 Stream API1. Stream2. Stream 的创建3. 常见的 Stream 操作3.1 中间操作3.2 终止操作 4. Stream 的并行操作 Java 8 Stream API Java 8 引入了 Stream API,使得对集合类(如 List、Set 等)的操作变得更加简洁和直观。Stream…

电商项目高级篇08-springCache

电商项目高级篇08-springCache 1、整合springCache2、Cacheable细节设置 1、整合springCache 1、引入依赖 <!--引入springCache--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifa…

docker swarm 部署问题 和 指定节点部署服务

问题原因&#xff1a; docker swarm 部署遇到的问题&#xff0c; 先前docker compose部署&#xff0c;分别创建了 cloud 网络&#xff1b; 昨进行swarm 集群部署&#xff1b;只是删了57 机器cloud 网络&#xff1b;在创建swarm集群后创建cloud 58机器 没有删除先前的cloud 网络…

flutter在使用gradle时的加速

当我使用了一些过时的插件的时候&#xff0c;遇到了一些问题 比如什么namespace 问题等&#xff0c;因为有些插件库没有更新了&#xff0c;或者最新版本处于测试阶段 于是我就删除这些旧插件(不符合我要求的插件) 于是根据各论坛的解决方法去做了以下的工作 1:项目中删除了这…

mysql_real_connect的概念和使用案例

mysql_real_connect 是 MySQL C API 中的一个函数&#xff0c;用于建立一个到 MySQL 数据库服务器的连接。这个函数尝试建立一个到 MySQL 服务器的连接&#xff0c;并返回一个 MYSQL* 类型的指针&#xff0c;这个指针可以用于后续的数据库操作。 函数原型 MYSQL *mysql_real_…

vue项目创建与运行(idea)

一、安装vue 在安装完node.js后 使用管理员身份运行命令行&#xff0c;在命令行中&#xff0c;执行如下指令&#xff1a; npm install -g vue/cli 这个过程中&#xff0c;会联网下载&#xff0c;可能会耗时几分钟&#xff0c;耐心等待。 以管理员身份运行cmd检查版本 idea创…

数据结构漫游记:队列的动态模拟实现(C语言)

嘿&#xff0c;各位技术潮人&#xff01;好久不见甚是想念。生活就像一场奇妙冒险&#xff0c;而编程就是那把超酷的万能钥匙。此刻&#xff0c;阳光洒在键盘上&#xff0c;灵感在指尖跳跃&#xff0c;让我们抛开一切束缚&#xff0c;给平淡日子加点料&#xff0c;注入满满的pa…