我想创建一个简单的TKinter文件选择对话框,其中包含我将从其他脚本使用的功能,而不是更广泛的GUI。
我目前的代码是:
# Select a single file and return the full path as a string
def select_file(data_dir):
chdir(data_dir)
root = Tkinter.Tk()
root.withdraw()
file_path = tkFileDialog.askopenfilename()
return file_path
当我运行此文件时,文件对话框总是在其他窗口后面。如果我让Spyder最大化,它会在它背后打开,所以我必须尽量减少。
有一些与此相关的问题,但我无法获得任何建议的代码,所以如果这被视为重复的问题,请道歉。
本
答案 0 :(得分:1)
只需在root.deiconify()
file_path = tkFileDialog.askopenfilename()
即可
但在这里创建一个新的Tk
是一个坏主意。
答案 1 :(得分:0)
使用root.focus_force()
将根窗口置于顶部,fileDialog
也应位于顶部:
from Tkinter import *
import tkFileDialog
def select_file(data_dir):
root = Tk()
root.withdraw()
root.focus_force()
return tkFileDialog.askopenfilename(parent=root, initialdir=data_dir)
select_file(data_dir)