From 6547b5cca4075cce6acc401b0d926dd813a55b7a Mon Sep 17 00:00:00 2001 From: halliday2023 Date: Tue, 13 Feb 2024 15:47:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B3=A8=E9=87=8A=EF=BC=8C?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/GUIWindows.py | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) 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()