使用Python进行串口通信软件开发(2)——入门实例
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用Python进行串口通信软件开发(2)——入门实例,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5101字,纯文字阅读大概需要8分钟。
内容图文
![使用Python进行串口通信软件开发(2)——入门实例](/upload/InfoBanner/zyjiaocheng/595/2359243ac2bb46c29d7951824f20344f.jpg)
往期推荐
文章中的所示例软件设计工程,如需下载,请在“我的学习交流小平台 ”公众号内直接回复: SL001 即可获取。
1 前言
前面的所有准备工作基本已经完成了,在串口通信软件设计之前,我们先进行一个简单的软件界面设计任务来入个门。如果您还未完成前面的准备工作,还请尽可能阅读一下上一篇文章,如有需要可以访问:Python语言串口通信软件开发(1),以方便后面工作更好的展开。
2 新建一个工程
2.1 新建一个工程文件夹
来让我们在某个本地磁盘某个文件夹下创建一个工程文件夹,这里以“TestSample”为例进行新建,如图2.1所示。
![使用Python进行串口通信软件开发(2)——入门实例 - 文章图片](/upload/getfiles/0001/2021/4/29/20210429073839904.jpg)
2.2 启动Pycharm软件
![使用Python进行串口通信软件开发(2)——入门实例 - 文章图片](/upload/getfiles/0001/2021/4/29/20210429073840463.jpg)
2.3 新建工程项目
注意:新建一个工程有两种方式,如图2.3和2.4所示。
![使用Python进行串口通信软件开发(2)——入门实例 - 文章图片](/upload/getfiles/0001/2021/4/29/20210429073841071.jpg)
![使用Python进行串口通信软件开发(2)——入门实例 - 文章图片](/upload/getfiles/0001/2021/4/29/20210429073841559.jpg)
![使用Python进行串口通信软件开发(2)——入门实例 - 文章图片](/upload/getfiles/0001/2021/4/29/20210429073842163.jpg)
![使用Python进行串口通信软件开发(2)——入门实例 - 文章图片](/upload/getfiles/0001/2021/4/29/20210429073842642.jpg)
![使用Python进行串口通信软件开发(2)——入门实例 - 文章图片](/upload/getfiles/0001/2021/4/29/20210429073843141.jpg)
输入文件名之后,然后我们回车,即可在工程目录下创建一个py文件,这里示例的是“mainsample.py”文件,如图2.8所示。
![使用Python进行串口通信软件开发(2)——入门实例 - 文章图片](/upload/getfiles/0001/2021/4/29/20210429073843906.jpg)
3 软件界面设计
3.1 打开设计工具
![使用Python进行串口通信软件开发(2)——入门实例 - 文章图片](/upload/getfiles/0001/2021/4/29/20210429073844310.jpg)
![使用Python进行串口通信软件开发(2)——入门实例 - 文章图片](/upload/getfiles/0001/2021/4/29/20210429073845005.jpg)
3.2 设计目标
!!今天我们先来设计一个计算圆的面积的软件。
-
输入:半径值
-
输出:面积值(其中输出通过一个按钮触发)
3.3 设计准备
软件看起比较复杂,但是不要紧,跟着我,我们一同设计哈!
![使用Python进行串口通信软件开发(2)——入门实例 - 文章图片](/upload/getfiles/0001/2021/4/29/20210429073845650.jpg)
![使用Python进行串口通信软件开发(2)——入门实例 - 文章图片](/upload/getfiles/0001/2021/4/29/20210429073846073.jpg)
![使用Python进行串口通信软件开发(2)——入门实例 - 文章图片](/upload/getfiles/0001/2021/4/29/20210429073846601.jpg)
-
如图3.5所示,首先拖拽控件栏的滚动条,在Display Widgets容器栏找到Label标签控件,拖拽三个这样的控件到中间的软件界面设计的编辑框中;
-
同样,在Input Widgets容器栏中找到Line Edit文本控件,拖拽到中间的编辑框中,用于输入圆的半径值;
-
最后,在Buttons容器栏中找到Push Button按钮控件,拖拽该控件到中间的编辑框中,用于触发计算过程,最终得到如图3.6所示的界面。
![使用Python进行串口通信软件开发(2)——入门实例 - 文章图片](/upload/getfiles/0001/2021/4/29/20210429073847381.jpg)
3.4 修改样式属性
下面我们将修改拖拽到界面编辑视窗中各控件的属性,来让我们将视角移至右上角对象查看器栏,修改各个控件的对象名。
各控件修改参数如下表所示。
Class(类) | text | objectName |
---|---|---|
QLable | 半径: | radiusLabel |
QLineEdit | raduisLineEdit | |
QLabel | 面积: | areaLabel_1 |
QLabel | areaLabel_2 | |
QPushButton | 计算 | countBtn |
方式一(建议),如图3.7和3.8所示
![使用Python进行串口通信软件开发(2)——入门实例 - 文章图片](/upload/getfiles/0001/2021/4/29/20210429073847738.jpg)
![使用Python进行串口通信软件开发(2)——入门实例 - 文章图片](/upload/getfiles/0001/2021/4/29/20210429073848125.jpg)
方式二,如图3.9所示
![使用Python进行串口通信软件开发(2)——入门实例 - 文章图片](/upload/getfiles/0001/2021/4/29/20210429073848523.jpg)
这里我们需要对areaLabel_2的控件样式修改一下,如图3.10所示操作,我们将areaLabel_2的“frameShape”修改为Panel;将“frameShadow”修改为Sunken,得到的效果如图3.10左侧所示。
![使用Python进行串口通信软件开发(2)——入门实例 - 文章图片](/upload/getfiles/0001/2021/4/29/20210429073849211.jpg)
3.5 生成py文件
经过上面一系列的操作,然后我们进行文件保存,好的习惯应该是每隔一段时间保存一下文件的,哈哈!
![使用Python进行串口通信软件开发(2)——入门实例 - 文章图片](/upload/getfiles/0001/2021/4/29/20210429073849810.jpg)
![使用Python进行串口通信软件开发(2)——入门实例 - 文章图片](/upload/getfiles/0001/2021/4/29/20210429073850542.jpg)
![使用Python进行串口通信软件开发(2)——入门实例 - 文章图片](/upload/getfiles/0001/2021/4/29/20210429073851163.jpg)
![使用Python进行串口通信软件开发(2)——入门实例 - 文章图片](/upload/getfiles/0001/2021/4/29/20210429073851819.jpg)
你可以打开双击生成的这个py文件来瞧瞧!!
4主程序编写
4.1 程序语言文本
#?@FileName:?mainsample.py
#?@Software:?PyCharm?2020.3.5
#?@Author:?Zhu?C.Q.
#?@Date:?2021/04/03
#?该程序需要一定的Python语言基础,以及类相关的知识;
#?如果您没有这方面的基础,可以阅读文章尾部给出的参考资料,或者也可以抄过来尝试一下了~
import?sys
import?numpy?as?np
from?PyQt5.QtWidgets?import?QMainWindow,?QApplication
from?uiFiles.countInterface_ui?import?Ui_MainWindow
#?采用单继承与界面独立封装方式进行逻辑设计,听不懂也没关系~
class?CountWindown(QMainWindow):
????def?__init__(self,?parent?=?None):??#?该函数为构造函数,实例化该类后会自动执行
????????super().__init__(parent)????????#?调用父类构造函数,创建QMainWindow窗体,此时self就是一个QMainWindow对象
????????self.mainUI?=?Ui_MainWindow()???#?实例化一个UI对象
????????self.mainUI.setupUi(self)
????????self.InitEvent()????????????????#?调用初始化函数
????def?InitEvent(self):
????????self.mainUI.countBtn.clicked.connect(self.CountArea)????#?声明信号,若发生点击事件,就执行CountArea方法
????def?CountArea(self):
????????radius?=?float(self.mainUI.radiusLineEdit.text())??#?读取输入框的数据,需要转化成浮点数才能进行计算
????????area?=?np.pi?*?radius?**?2??????????????????#?np.pi?就是?π
????????self.mainUI.areaLabel_2.setText(str(area))??#?在输出框设置计算好的数值,注意这里必须是字符串
????
if?__name__?==?"__main__":
????app?=?QApplication(sys.argv)????#?创建app,用QApplication类,这里的argv为命令行变量数组
????????????????????????????????????#?在任何Qt窗口的系统部件被使用之前必须创建QApplication对象,将控制权交于Qt
????countinterface?=?CountWindown()
????countinterface.show()
????sys.exit(app.exec_())???????????#?程序进入消息循环,等待可能的输入进行响应
????
4.2 运行一下
下来让我们运行它吧!
首次运行我们需要安装如图4.1所示进行操作,后面我可以按照图4.2所示进行运行操作。
![使用Python进行串口通信软件开发(2)——入门实例 - 文章图片](/upload/getfiles/0001/2021/4/29/20210429073852552.jpg)
![使用Python进行串口通信软件开发(2)——入门实例 - 文章图片](/upload/getfiles/0001/2021/4/29/20210429073853309.jpg)
如图4.3所示是生成的界面,我们输入一个半径值:10,然后点击计算,就会显示出结果。
![使用Python进行串口通信软件开发(2)——入门实例 - 文章图片](/upload/getfiles/0001/2021/4/29/20210429073853917.jpg)
4.3 修改一下
我们试着修改一下软件的标题,有两种方式,这里比较推荐第一种。
方式一:
![使用Python进行串口通信软件开发(2)——入门实例 - 文章图片](/upload/getfiles/0001/2021/4/29/20210429073854548.jpg)
![使用Python进行串口通信软件开发(2)——入门实例 - 文章图片](/upload/getfiles/0001/2021/4/29/20210429073855289.jpg)
![使用Python进行串口通信软件开发(2)——入门实例 - 文章图片](/upload/getfiles/0001/2021/4/29/20210429073855933.jpg)
方式二:
![使用Python进行串口通信软件开发(2)——入门实例 - 文章图片](/upload/getfiles/0001/2021/4/29/20210429073856482.jpg)
运行修改后的主程序
![使用Python进行串口通信软件开发(2)——入门实例 - 文章图片](/upload/getfiles/0001/2021/4/29/20210429073857281.jpg)
到这里示例软件设计基本就结束啦,不知道你是否已经了解了初步的软件设计流程。
5 结束语
好了,今天就到这里了,我已经讲一个入门的软件设计过程展示给大家了,有什么问题,欢迎留言讨论。后面几期我将正式开始串口通信软件的设计,还望大家喜欢!!这个软件也是我后期研究课题可能应用的工具,我会尽力完美的设计~~ 拜拜!^_^
感谢你的阅读,欢迎点赞和分享支持!
更多内容可以关注我的微信公众号:我的学习交流小平台
了解一下我哈:关于我(About Me!)
内容总结
以上是互联网集市为您收集整理的使用Python进行串口通信软件开发(2)——入门实例全部内容,希望文章能够帮你解决使用Python进行串口通信软件开发(2)——入门实例所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。