繁体   English   中英

TKinter tkFileDialog.askopenfilename总是落后于其他窗口

[英]TKinter tkFileDialog.askopenfilename Always behind other windows

我想创建一个简单的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最大化,它会在它背后打开,所以我必须尽量减少。

有一些与此相关的问题,但我无法获得任何建议的代码,所以如果这被视为一个重复的问题,请道歉。

只需要使用root.deiconify()file_path = tkFileDialog.askopenfilename()

但是在这里创建一个新的Tk是个坏主意。

使用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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM