python 开发上位机应用程序(pyside)

 

一、安装库

1.1 库介绍

uptime:该模块提供了各种时间相关的函数。pip/pip3 install uptime

time.sleep(secs):暂停执行调用线程达到给定的秒数。参数可以是浮点数,以指示更精确的睡眠时间。

time.gmtime([secs]):将以自 epoch 开始的秒数表示的时间转换为 UTC 的 struct_time ,其中 dst 标志始终为零。 如果未提供 secs 或为 None ,则使用 time() 所返回的当前时间。

can-isotp:用python 3编写的isotp(iso-15765)协议提供支持。pip/pip3 install can-isotp

参考官方文档及example进行开发

Implementation — isotp 0 documentation (can-isotp.readthedocs.io)

python-can:使用python对CAN驱动进行控制,配置波特率,收发。参考官方文档及博客开发

python-can 的使用 - 陈富林 - 博客园 (cnblogs.com)

pyside6:该模块类似pyQt,可以设计ui,生成对应的py

crcmod:比较好用的CRC校验库

crcmod documentation — crcmod v1.7 documentation (sourceforge.net)

注:如果pip下载失败,更新pip,然后尝试重新下载python.exe -m pip install --upgrade pip

如果还是比较慢,试试换一下下载源python下载模块快速的源-Python文档类资源-CSDN文库

下载后放在: C:\Users\个人用户\AppData\Roaming\pip\ (pip文件夹需要自己单独创建)

1.2 开发环境

conda升级python版本:

# 第一步,先更新conda
conda upgrade conda 
# 如果上一步更新失败,执行这个命令即可
conda update --force conda
# 第二部更新anaconda
conda update anaconda
# 第三步,安装python,这个命令默认升级到最新版本
conda install python
# 如需指定版本
conda install python=3.10

Pycharm 安装库文件:

首先下载好离线的文件PySide6 · PyPI,再Terminal中安装包:

 配置UI开发环境, 在Tab选项卡中选择Tool下面的Designer打开UI界面

 配置调试环境:

 

 

二、UI界面及生成py脚本

UI界面设计:

建立信号和槽:

 ui文件生成py代码:

pyside6-uic.exe  demo_ui.ui -o demo_ui.py

主程序helloPyside.py调用py文件:

import sys
from PySide6.QtWidgets import QApplication, QMainWindow
from demo_ui import Ui_Dialog

class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.ui = Ui_Dialog()
        self.ui.setupUi(self)

    def myButtonClick(self):
        self.ui.lineEdit.setText("hello pyside6!")
        print("hello!")



if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = MainWindow()
    window.show()
    sys.exit(app.exec())

demo效果如下

 

三、打包生成exe

方法一:pyinstall

pyinstaller -F -w G:\automation\test.py

#添加图标
pyinstaller -F -w -i G:\automation\tpian.ico G:\automation\test.py

pyinstaller --console --onefile jingyan_frame.py

常用pyinstaller 命令:
1. -i 给应用程序添加图标
2. -F 指定打包后只生成一个exe格式的文件
3. -D –onedir 创建一个目录,包含exe文件,但会依赖很多文件(默认选项)
4. -c –console, –nowindowed 使用控制台,无界面(默认)
5. -w –windowed, –noconsole 使用窗口,无控制台
6. -p 添加搜索路径

注:-F(注意大写)是所有库文件打包成一个exe,-w是不出黑色控制台窗口。 不加-F参数生成一堆文件,但运行快。压缩后比单个exe文件还小一点。加-F参数生成一个exe文件,运行起来慢。

生成的exe在dist文件夹下。

如果出现允许错误:文件夹路径搜索错误,资源没有添加进去

方法二:nuitka

nuitka --onefile  --plugin-enable=pyside6 --windows-disable-console --windows-icon-from-ico=resource/radar.png  --include-package-data=uds --output-dir=out upgradeTool.py

nuitka --onefile  --plugin-enable=pyside6 --windows-icon-from-ico=resource/radar.png --include-package-data=can --output-dir=out upgradeTool.py

参考:

环境配置:Python 图形界面框架 PySide6 使用及避坑指南_架构师忠哥的博客-CSDN博客_pyside6

Python3.x将代码打包成exe程序并添加图标 - Python研究者 - 博客园 (cnblogs.com)

  • 0
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python开发上位机软件的过程可以分为以下几个步骤: 1. 导入必要的库和模块:在主程序中,首先需要导入所需的库和模块。例如,在引用\[1\]中的代码中,使用了PySide6.QtWidgets库来创建应用程序窗口和界面。 2. 设计用户界面:使用UI设计工具(如Qt Designer)创建用户界面。在引用\[1\]中的代码中,使用了demo_ui.py文件中的Ui_Dialog类来设置用户界面。 3. 编写主程序逻辑:在主程序中,编写与用户界面交互的逻辑。例如,在引用\[1\]中的代码中,定义了MainWindow类,并在其中编写了一个名为myButtonClick的方法,用于处理按钮点击事件。 4. 运行应用程序:在主程序的if __name__ == '__main__'条件下,创建应用程序对象并显示窗口。最后,通过调用app.exec()方法来运行应用程序。 关于Python开发上位机软件的环境配置和打包发布,可以参考引用\[2\]和引用\[3\]中的内容。其中,引用\[2\]提供了使用conda进行环境配置的示例命令,包括更新conda、更新anaconda和安装指定版本的Python。引用\[3\]则介绍了使用pyinstaller进行打包发布的方法,包括生成可执行文件和添加图标等操作。 总结起来,Python开发上位机软件的过程包括导入库和模块、设计用户界面、编写主程序逻辑和运行应用程序。同时,需要根据实际需求进行环境配置和打包发布的操作。 #### 引用[.reference_title] - *1* *2* *3* [python 开发上位机应用程序(pyside)](https://blog.csdn.net/qinze5857/article/details/123706293)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值