程序员开发实例大全宝库

网站首页 > 编程文章 正文

第十八课用python来写usb程序-实现功能篇1

zazugpt 2024-09-01 07:58:24 编程文章 28 ℃ 0 评论

1、上次我们已经实现了界面,我们运行一下:

我们之前的库已经实现了usb的操作,我们引入usbform.py,在头文件加入:from setusb import FindUsb,在setusb.py中增加函数用于寻找设备,以及返回设备信息,加入如下代码:

def Isfinddev(self):

isok=False

self.FindDev()

if self.dev:

isok=True

return isok

def ShowDevice(self):

msg=''

if self.dev:

msg='VID:'+hex(self.vid)+' PID:'+hex(self.pid)

return msg

接着我们在usbform.py中增加:

def Initdata(self):

self.fb=FindUsb(0x1a86, 0x7523)

self.searchusb()

def searchusb(self):

if self.fb.Isfinddev():

msg=self.fb.ShowDevice()

if len(msg)>0:

self.ShowMsg('找到设备:'+msg+'\r\n')

self.ShowDev(msg)

def ShowDev(self,msg):

self.new.cb_usb.clear()

self.new.cb_usb.addItem(msg)

def ShowMsg(self,msg):

self.new.txt_show.append(msg)

self.new.txt_show.moveCursor(QtGui.QTextCursor.End)

将InitData加入到__init__(self),便于初始化的时候运行,我们运行一下:

2、来增加设置界面,我们上次已经完成了设置界面的制作,我们在usb目录下新建一个文件setusbform.py:

from PyQt5 import QtCore, QtGui, QtWidgets

from ui.setusb import Ui_setform

from PyQt5.QtCore import pyqtSignal

class SetUsbwindow(QtWidgets.QWidget):

_signal = pyqtSignal(dict)

def __init__(self):

super(SetUsbwindow,self).__init__()

self.new=Ui_setform()

self.new.setupUi(self)

在usbform.py中增加:

def ShowSuw(self):

self.suw.show()

def callsuw(self,msg):

if msg:

print(msg)

在initdata中增加:

self.suw=SetUsbwindow()

self.suw._signal.connect(self.callsuw)

self.new.btn_set.clicked.connect(self.ShowSuw)

self.new.btn_search.clicked.connect(self.searchusb)

记得在文件头引入:from setusbform import SetUsbwindow

接着我们来运行一下,点击设置:

3、我们将设置的内容,通过信号传递到主界面,在setusbform.py中增加:

def Get_set(self):

vid=self.new.txt_vid.text()

pid=self.new.txt_pid.text()

rep=self.new.txt_rep.text()

wep=self.new.txt_wep.text()

sl={'vid':vid,'pid':pid,'rep':rep,'wep':wep}

self._signal.emit(sl)

self.close()

在__init__(self)中增加:

self.new.btn_ok.clicked.connect(self.Get_set)

self.new.btn_esc.clicked.connect(self.close)

我们运行一下:

点击确定:

我们的数据已经传递了到了,主界面,下一节将完成设置保存,读取设置。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表