基于的matplotlib的采集数据显示--添加线程支持
2018-07-07 本文已影响0人
ww4u
- 前面的例子中再扫描过程中按键响应后的扫描过程阻塞了主线程
def onScanClicked( self ):
dev = mrq.MRQ.MRQ( self.ui_deviceCombox.currentText() )
fileName = os.path.split(__file__)[0] + "/" + "inverse.dat"
(fAngle, fRange) = mrq.mrq_microstep_diagnosis.inverseScan( dev,
self.ui_chCombox.currentIndex(),
fileName )
self.plotFile( fileName, fAngle, fRange )
- 为了改善UI响应,需要将扫描过程移到工作线程中
- 引入threading
import threading
- 分离出扫描过程
def scanProc( self ):
dev = mrq.MRQ.MRQ( self.ui_deviceCombox.currentText() )
fileName = os.path.split(__file__)[0] + "/" + "inverse.dat"
(fAngle, fRange) = mrq.mrq_microstep_diagnosis.inverseScan( dev,
self.ui_chCombox.currentIndex(),
fileName )
self.plotFile( fileName, fAngle, fRange )
- 启动线程
def onScanClicked( self ):
t = threading.Thread( target = self.scanProc )
t.start()