相关疑难解决方法(0)

如何捕获Python解释器的输出并在Text小部件中显示?

我有一个使用PyQt的Python程序,旨在在Windows上运行.该程序进行了大量操作并打印了大量信息.但是,由于我想要冻结它并且不希望出现提示屏幕,我希望所有信息都显示在主应用程序中,在QTextEdit中.我如何使程序工作,以便从解释器获取输出并同时在textEdit上显示它,就像在真正的解释器上一样?

python pyqt python-3.x

22
推荐指数
2
解决办法
2万
查看次数

如何正确地将标准输出、日志记录和 tqdm 重定向到 PyQt 小部件中

长话短说

\n

答案请参见:

\n
    \n
  1. 我的 2019 年最初使用文本编辑和 stdout/stderr 流重定向接受了答案,请参阅/sf/answers/3855776501/
  2. \n
  3. 我的第二个答案,现在标记为已接受的答案:使用真正的 QProgressBar 的派生和改进方法!/sf/answers/5186428061/
  4. \n
\n

问题

\n

首先,我知道很多问题都与这个问题类似。\n但是在花了这么多时间之后,我现在向社区寻求帮助。

\n

我开发并使用了一堆依赖于 的 python 模块tqdm。\n我希望它们可以在 Jupyter、控制台或 GUI 中使用。\n在 Jupyter 或控制台中一切正常:日志记录/打印和 tqdm 进度之间没有冲突酒吧。以下是显示控制台/Jupyter 行为的示例代码:

\n
# coding=utf-8\nfrom tqdm.auto import tqdm\nimport time\nimport logging\nimport sys\nimport datetime\n__is_setup_done = False\n\n\ndef setup_logging(log_prefix):\n    global __is_setup_done\n\n    if __is_setup_done:\n        pass\n    else:\n        __log_file_name = "{}-{}_log_file.txt".format(log_prefix,\n                                                      datetime.datetime.utcnow().isoformat().replace(":", "-"))\n\n        __log_format = \'%(asctime)s - %(name)-30s - %(levelname)s - %(message)s\'\n        __console_date_format = \'%Y-%m-%d %H:%M:%S\'\n        __file_date_format = \'%Y-%m-%d %H-%M-%S\'\n\n        root …
Run Code Online (Sandbox Code Playgroud)

python logging stdout pyqt tqdm

10
推荐指数
2
解决办法
9598
查看次数

标签 统计

pyqt ×2

python ×2

logging ×1

python-3.x ×1

stdout ×1

tqdm ×1