0
저는 시스템 관리자이며 파이썬을 사용하여 무언가를 얻으려고합니다. Qthread에서 bat 파일을 실행할 작은 파이썬 도구를 만들고 있습니다. GUI에서 출력/오류를 박쥐 파일에서 업데이트하려는 textedit 상자가 있습니다. 메인에서Qthread에서 Gui로 bat 파일 출력 업데이트
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)
- - 여기
내가 지금까지 가지고있는 코드,QThread입니다
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()
그러나 나는 점점 오전 - 형식 오류 : [STR] runbat.line_printed. emit() : 인자 1의 타입이 'bytes'입니다. 또 다른 질문은 stdout이 오류를 잡거나 출력 만하는 것입니다. 오류를 잡으려면 무엇이 필요합니까?