我有四个不同的 python 程序,当用户按下单独的 python 文件上定义的 Tkinter 按钮时,我希望将它们作为事件执行。到目前为止,这个 python 文件看起来像这样:
from tkinter import *
from tkinter import ttk
def arvuta():
return
VCalc = Tk()
VCalc.title("V-Calc")
VCalc.configure(background='#E6F3FE')
nupp = ttk.Button(VCalc, text="prog1", command=arvuta)
nupp.grid(column=1, row=1, padx=3, pady=3, sticky=(N, S, W, E))
nupp2 = ttk.Button(VCalc, text="prog2", command=arvuta)
nupp2.grid(column=2, row=1, padx=3, pady=3, sticky=(N, S, W, E))
nupp3 = ttk.Button(VCalc, text="prog3", command=arvuta)
nupp3.grid(column=1, row=3, padx=3, pady=3, sticky=(N, S, W, E))
nupp4 = ttk.Button(VCalc, text="prog4", command=arvuta)
nupp4.grid(column=2, row=3, padx=3, pady=3, sticky=(N, S, W, E))
VCalc.mainloop()
是否可以使用 Tkinter 按钮从另一个程序执行 python 程序?
您应该使用
execfile
python 内置函数。在按钮定义中,使用:command=lambda: execfile("path/to/file.py")
。如果您想让主窗口保持响应,您可能需要使用多线程。
使用子流程
import subprocess
import sys
pid1 = subprocess.Popen([sys.executable, "file.py"])