允许用户在 tkinter askopenfilename() 中输入路径
Posted
技术标签:
【中文标题】允许用户在 tkinter askopenfilename() 中输入路径【英文标题】:Allow users to type path in tkinter askopenfilename() 【发布时间】:2016-05-19 19:02:45 【问题描述】:环境:
OS: Windows 7
Python 2.7.10 :: Anaconda 2.2.0 (64-bit)
Tkinter.TkVersion 8.5
我目前正在使用 askopenfilename() 允许用户在 Windows 7 上指定/打开文件。这会生成一个对话框,允许用户通过此处突出显示的下拉菜单导航目录:
是否可以修改 Windows 中 Tkinter askopenfilename 对话框的默认行为,以允许用户键入文件路径而不是使用此下拉菜单?例如,
我知道您可以使用“initialdir=" 参数指定初始路径/目录,但我也想为用户提供键入/粘贴路径的便利。
【问题讨论】:
也许您可以在文件名的位置写入文件夹名称(以更改文件夹)。它适用于 Linux。 Furas,你是在建议我使用 askdirectory() 之类的东西而不是 askopenfilename() 吗?这似乎没有达到我的目标。你能详细说明吗?谢谢。 不,我建议你可以在askopenfilename()
中输入目录名作为文件名,它会改变目录。
在我的系统上(详情见上文),您无法在突出显示的区域输入内容。您只能从下拉列表中“选择”。那是我的问题!
我在 Ubuntu 上遇到了类似的问题。我可以只使用下拉菜单在机器上本地查看任何内容。但是,我无法输入任何内容来指定网络位置。我必须创建一个愚蠢的对话框来要求用户输入网络位置,然后将其输入到 initialdir 参数中以使其工作。在 Windows 中,至少您可以滚动左侧菜单窗口以浏览网络位置。在 Ubuntu 中,只有当前文件夹视图和列出的当前目录。 ://
【参考方案1】:
使用 import os 可以让用户输入路径
import os
def Pathfinding(Select_path):
my_path = Select_path
user_path = os.chdir(my_path)
return user_path
这可以通过使用 Entry 小部件调用函数来添加到 tkinter
【讨论】:
以上是关于允许用户在 tkinter askopenfilename() 中输入路径的主要内容,如果未能解决你的问题,请参考以下文章
允许用户在 tkinter askopenfilename() 中输入路径