Bootstrap

pyqt5开发ui图形化工具

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. 后面有想法可以开发自己的图像小工具, 提高开发效率

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;