【发布时间】:2016-07-04 15:46:56
【问题描述】:
我想在 Python 中为 Windows 创建一个受限文件夹/文件资源管理器(我有 2.7.9 版,但我不介意更改它)。
基本上,我想最初指定代码打开的文件夹。例如,代码最初应该打开到:C:\Users\myName\Desktop\myDemoFolder(用户不能仅仅通过查看 GUI 就知道这个文件夹)。
用户必须能够向下(深入到文件夹)和向后(但只能到代码打开的初始文件夹)浏览。用户必须能够点击打开文件(例如:pdf),并且文件必须在其默认应用程序中自动打开。
我想要的一个例子如图 1 所示。(界面的外观并不重要)
目前,我可以使用 here 提供的代码获得图 2:
from Tkinter import Tk
from tkFileDialog import askopenfilename
Tk().withdraw()
filename = askopenfilename()
print(filename)
研究表明无法更改 Tkinter 窗口中的默认按钮。这是真的?如果不能用 Tkinter 完成(没关系),我们还能怎么做?
我很乐意选择简单的非 Tkinter 代码(可能使用 wxPython 的 wx.GenericDirCtrl())而不是复杂的 Tkinter 代码,但请不要限制库。
不需要模块化设计方法。我宁愿拥有比面向对象代码更短的简单(函数式)代码。
【问题讨论】:
-
据我所知,您无法更改 tkinter 默认按钮,但您可以在用户打开时设置初始目录的路径,例如:
askopenfilename(initialdir='path/which/you/want/to/set')并向我们展示您尝试过的内容所以不是代码编写网站。