diff --git a/bin/GUIWindows.py b/bin/GUIWindows.py index 9a93c32..b59bb99 100644 --- a/bin/GUIWindows.py +++ b/bin/GUIWindows.py @@ -21,8 +21,11 @@ formType, baseType = loadUiType(str(ui_file_patch)) # 重定向输出 class EmittingStr(QObject): - textWritten = Signal(str) + # 定义信号 + textWritten = Signal(str) + # 将控制台的内容输出到QTextBrowser def write(self, text): + # 调用 emit方法 发信号时,传入参数 必须是这里指定的 参数类型 self.textWritten.emit(str(text)) loop = QEventLoop() QTimer.singleShot(100, loop.quit) @@ -48,13 +51,22 @@ class Window(formType, baseType): self.setupUi(self) self.setup_thread() - # 输出设置 + # QTextBrowser输出设置,限制条数为100 self.Log_Output.document().setMaximumBlockCount(100) self.Log_Output.ensureCursorVisible() - # 将控制台输出重定向到textBrowser中 + # 将控制台输出重定向到QTextBrowser sys.stdout = EmittingStr() sys.stdout.textWritten.connect(self.outputWritten) + # 输出到GUI,信号处理函数 + def outputWritten(self, text): + cursor = self.Log_Output.textCursor() + cursor.movePosition(QTextCursor.End) + cursor.insertText(text) + self.Log_Output.setTextCursor(cursor) + self.Log_Output.ensureCursorVisible() + + @Slot() #声明槽函数 def start(self): print('点击了开始按钮') @@ -138,10 +150,3 @@ class Window(formType, baseType): def stop_run_db(self): pass - # 输出到GUI - def outputWritten(self, text): - cursor = self.Log_Output.textCursor() - cursor.movePosition(QTextCursor.End) - cursor.insertText(text) - self.Log_Output.setTextCursor(cursor) - self.Log_Output.ensureCursorVisible()