如何在Tkinter GUI处于活动状态时运行我的python脚本?

时间:2013-03-09 18:48:30

标签: python python-3.x tkinter

我正在尝试创建一个GUI。我需要在GUI处于活动状态时执行另一个python脚本。 (GUI应该处理来自此执行的数据)因为我使用Tkinter创建了GUI,所以我无法在python终端中执行另一个文件。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您无需启动其他解释程序。

您只需在separte线程或进程中执行其他脚本中的代码即可。


重构您的“其他”脚本

您希望您的“其他”脚本可以从其他脚本调用。要做到这一点,你只需要一个能够完成脚本用途的功能。

#other.py

def main(arg1, arg2, arg3):
    do_stuff(arg1, arg2)
    more_stuff(arg2, arg3)
    other_stuff(arg1, arg3) 
    finish_stuff(arg1, arg2, arg3)

在另一个线程中执行代码

在主脚本中,当您想要从other.py执行代码时,请启动一个新线程:

 #script.py

 from threading import Thread

 from other import main

 thread = Thread(target = main)
 thread.start() # This code will execute in parallel to the current code

要检查您的工作是否完成,请使用thread.is_alive()。要阻止直至完成,请使用thread.join()