python新手教程104(第十八课用python来写usb程序-实现功能篇1)
python新手教程104(第十八课用python来写usb程序-实现功能篇1)def ShowDevice(self):return isokself.FindDev()if self.dev:isok=True
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)
我们运行一下:
点击确定:
我们的数据已经传递了到了,主界面,下一节将完成设置保存,读取设置。