从主文件打开另一个tkinter程序

时间:2017-05-10 18:23:53

标签: python tkinter

我在我的主程序中尝试了这个

from tkinter import *
import tkinter.filedialog
import os
root = Tk()
def open():
    PathPy = tkinter.filedialog.askopenfilename(title="Open a file",filetypes=[('PYTHON file','.py')])
    os.system(PathPy)
B = Button(root, text="Open a file", command=open).pack()
root.mainloop()

就在我的第二个文件中:

from tkinter import *
root2 = Tk()
root2.mainloop()

当我选择python文件时,没有任何反应......你能告诉我如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

您的代码的两个附加内容可能会产生预期的结果。

os.system期望操作系统的“命令”:

  

在子shell中执行命令(字符串)。

喜欢python3 myscript.py

但是,由于您使用的是自定义python编程环境,请将EduPythonpython.exe的路径传递给os.system

from tkinter import *
import tkinter.filedialog
import os
import sys

root = Tk()
pyexec = sys.executable

def open():
    PathPy = tkinter.filedialog.askopenfilename(title="Open a file",filetypes=[('PYTHON file','.py')])
    os.system('%s %s' % (pyexec, PathPy))

B = Button(root, text="Open a file", command=open).pack()
root.mainloop()

其次,将最后一行root2.mainloop()添加到第二个脚本中,以显示第二个Tk窗口。

希望这会有所帮助。