我为一个应用程序制作了一个简单的PyGTK-gladegui。我做了一个按钮,然后on_button_click调用了一个bash脚本。 我想在bash脚本运行时显示一个弹出窗口,并在完成后隐藏它。我制作了一个名为runningWindow in Glade的窗口,并编写了以下代码:
def on_button1_clicked(self,widget):
self.glade.get_object("runningWindow").show()
os.system('bash run.sh')
self.glade.get_object("runningWindow").hide()
此代码在运行.sh正在运行。如果删除hide()行,窗口将正确显示,但仅在运行.sh进程已完成。在
启动GUI的init函数:
^{pr2}$如何在操作系统叫什么? 谢谢你的帮助!在
我不能解决这个问题,但我可以绕过它。其他人可能会觉得有用:
首先,应该使用子流程.Popen()而不是subprocess.call(). 它将子进程自动置于后台,因此显示运行窗口。问题是,如果不删除.hide()命令,窗口在弹出后立即消失。否则,跑完之后我就不能把窗户藏起来了。在
为了解决这个问题,我在一个新的(runningWindow.glade公司以及运行窗口.py)文件。在
然后我创建了一个包装器bash脚本,它说:
把这个bash脚本称为子流程.Popen()来自主python脚本。在
您可能需要查看subprocess模块,并在后台任务中运行子流程。在
相关问题 更多 >
编程相关推荐