我已经运行了.bat文件
self.timer = QTimer(interval=1000)
try:
process = subprocess.Popen(
'C:/val/start.bat',
shell=False,
stdout=subprocess.PIPE
)
timerCallback = functools.partial(self.onTimer, msg=process.stdout)
self.timer.timeout.connect(timerCallback)
self.timer.start(1000)
except:
self.dockwidget.plainTextEdit.appendPlainText("##############Error##############")
def onTimer(self, msg):
line = msg.readline().decode('utf-8')
self.dockwidget.plainTextEdit.appendPlainText(line)
QgsMessageLog.logMessage(line, tag="Validating", level=QgsMessageLog.INFO)
if line == "" or line is None:
self.timer.stop()
QGIS运行插件时,QGIS被子进程暂停。
.bat文件完成后,QGIS正在运行。
我希望QGIS不会停止。
我想在子过程中将结果实时获取到QGIS。
我该怎么做?