python - 使用 os.system 运行 python 脚本的 Python GUI 导致主 GUI“无响应”
问题描述
StackOverflow 社区。我正在编写一个 python GUI 来监视 OSX 环境中另一个程序的数据,并且有一次我决定单击一个按钮来打开我编写的另一个 python 脚本。它确实有效,但一旦我单击按钮,它也会导致主 GUI 程序出现滞后问题。对于滞后问题,我的意思是 GUI 窗口是“无响应”,我需要强制退出。我用来运行新脚本的方法是,
def create_html():
os.system('python realtime.py')
我的程序没有多类结构,只有简单的画布和框架。我想知道这是否也是导致我的程序运行缓慢的问题。
解决方案
问题是您正在使用os.system
,这是一个阻塞调用。python realtime.py
在完成执行并返回之前,它不会将控制权返回给您的主代码。
您需要使用不会阻塞程序其余部分的调用,例如subprocess.Popen
.
您还可以查看此 QA以获取更多信息
推荐阅读
- spring - SpringBoot 和 log4j2 - SpringApplication.run() 时加载了两次应用程序上下文
- javascript - 没有收到用户电子邮件的确认码
- magento2 - 在 magento 中创建商店
- java - 如何从 SpringBoot 应用程序的资源文件夹中读取所有文件?
- javascript - Firebase 自定义声明如何设置?
- visual-c++ - 第一次编译从 CMake 构建的 Boost 项目时出现 LNK2019/2001 错误,但不是第二次
- python - 如何计算我们从 subprocess.popen 命令获得的行数
- mysql - 如何从 2 个不同的表中进行计数,然后将它们加总?
- javascript - 如何让 html-loader 处理 HTML 脚本的 src?
- python - print 语句用 | 分隔两个方程。.我无法理解它的真正功能