0
我是系統管理員,這是我第一次嘗試使用Python實現某些功能。我正在研究一個可以在Qthread中運行bat文件的小型python工具。在GUI上,我有一個textedit框,我想從bat文件更新輸出/錯誤。更新從Qthread到Gui的bat文件輸出
這裏是我的代碼到目前爲止,
的QThread -
class runbat(QtCore.QThread):
line_printed = QtCore.pyqtSignal(str)
def __init__(self,):
super(runbat, self).__init__()
def run(self):
popen = subprocess.Popen("install.bat", stdout=subprocess.PIPE, shell=True)
lines_iterator = iter(popen.stdout.readline, b"")
for line in lines_iterator:
self.line_printed.emit(line)
從主 -
self.batfile.line_printed.connect(self.batout)
def batout(self, line):
cursor = self.ui.textEdit.textCursor()
cursor.movePosition(cursor.End)
cursor.insertText(line)
self.ui.textEdit.ensureCursorVisible()
,但我得到 - 類型錯誤:runbat.line_printed [STR]。 emit():參數1具有意外的類型'字節'。另一個問題是stdout是否捕獲錯誤或者只是輸出,我還需要什麼來捕獲錯誤?