龙空技术网

第四课用python来写个串口助手--界面篇(二)

星链全球 2039

前言:

而今我们对“python写串口助手”大约比较重视,同学们都需要分析一些“python写串口助手”的相关内容。那么小编也在网摘上收集了一些对于“python写串口助手””的相关知识,希望咱们能喜欢,小伙伴们一起来学习一下吧!

1、我们上一篇中已经说道了如何使用pyserial来配置串口,现在我们制作一个串口配置的界面。

2、双击打开designer.exe:

依然是新建一个界面,我们需要配置的参数有包括串口名,波特率,数据位、停止位以及校验位。

我们依次放置5个label和combox,并将5个label命名为:串口、波特率、数据位、校验位以及停止位,将5个combox分别命名为:cb_com,cb_bsp,cb_data,cb_p以及cb_stop.

接着我们在波特率的combox,也就是cb_bsp选中这个控件,右键点击-》edite items:

敲入波特率,同样的编辑数据位、校验位和停止位:

完成以后,我们将得到以下的界面:

在最下方增加三个按钮,分别是确定、默认和取消,命名为btn_save、btn_default以及btn_esc。

同样的我们将文件保存在ui的目录中,将ui文件转化为.py文件,在cmd输入:pyuic5 -o comset.py comset.ui

生成代码文件:

查看代码文件,已经生成代码,接着我们新建一个comsetform.py文件,敲入代码:

#coding:utf-8

from PyQt5 import QtCore, QtGui, QtWidgets

from PyQt5.QtCore import pyqtSignal

from ui.comset import Ui_comsetform

class Comsetwindow(QtWidgets.QWidget):

_signal = pyqtSignal(dict)

def __init__(self):

super(Comsetwindow,self).__init__()

self.new=Ui_comsetform()

self.new.setupUi(self)

在代码中,我们使用pyqtSignal来传递配置好的参数值,传递的参数的格式为字典类型dict

接着实现从comsetform获取配置并发送到uartform以及初始化串口combox的代码:

def initcom(self,clist):

self.new.cb_com.clear()

self.new.cb_com.addItems(clist)

def Get_set(self):

sl={}

com=self.new.cb_com.currentText()

bsp=self.new.cb_bsp.currentText()

d=self.new.cb_data.currentText()

p=self.new.cb_p.currentText()

s=self.new.cb_stop.currentText()

sl={'com':com,'bsp':bsp,'d':d,'p':p,'s':s}

self._signal.emit(sl)

我们在uart.ui中增加一个按钮串口设置:

接着更新ui文件到代码文件,cmd输入:pyuic5 -o uart.py uart.ui

打开uartform.py,改变如下:

#coding:utf-8

from PyQt5 import QtCore, QtGui, QtWidgets

from PyQt5.QtCore import pyqtSignal

from ui.uart import Ui_uartform

from comsetform import Comsetwindow

class Uartwindow(QtWidgets.QWidget):

def __init__(self):

super(Uartwindow,self).__init__()

self.new=Ui_uartform()

self.new.setupUi(self)

self.InitData()

def InitData(self):

self.cw=Comsetwindow()

self.iscwconnect=False

self.new.btn_setcom.clicked.connect(self.ShowCw)

def ShowCw(self):

self.cw.show()

if self.iscwconnect:

pass

else:

self.cw._signal.connect(self.callcw)

def callcw(self,msg):

if msg:

print(msg)

这样我们就实现了,串口配置的信息传递到主界面中,在cmd中运行:

运行界面:

点击设置串口:

点击【确定】按钮,配置信息将打印在cmd中:

下一节课,我们将使用第三课中的代码来实现,界面操作串口库,实现搜索、打开以及关闭串口。

标签: #python写串口助手