我写了一个简短的脚本来查找和保存某些文件。我使用以下行选择保存位置:
ask_dir = tkFileDialog.askdirectory(initialdir= os.path.dirname(sys.argv[0]))
然而,askdirectory窗口(至少在我的WinXP机器上)过小,并且不可调整大小。 Tkinter似乎没有任何明显的命令来增加这个窗口大小 - see link here。我该如何解决这个问题?
答案 0 :(得分:2)
在Windows上,似乎使用了FolderBrowserDialog
函数,它无法轻松调整 的大小,尽管可能需要付出一些努力才能调整大小。
一些线索can be found here,可以使用pywin32模块将此代码“翻译”为Python。
以下是调整窗口大小的一些基本代码,以说明这将如何工作:
import win32gui
win = win32gui.FindWindowEx(None, None, "NULL,"#32770", None)
win32gui.SetWindowPos(win, 0, 500, 500, 900, 900, 0)
您还需要a)获取当前位置,并使用该位置而不是硬编码值,并且b)调整窗口内的所有小部件(请参阅链接文章)。
问题:
#32770
(win7,64位),对我来说看起来不太方便......我没有调查原因。askdirectory
正在阻塞,因此您需要启动一个单独的线程,轮询窗口是否打开,然后调整大小。这不仅是丑陋的,用户还可以在调整大小之前看到旧窗口大小的“闪烁”。我理解你的问题,“打开文件夹”对话框的可用性很差,但是增加尺寸似乎需要付出很大的努力。
用其他东西替换它可能是一种选择,虽然这会破坏操作系统的UI惯例,这也不好......