如何更改tkFileDialog.askdirectory的窗口大小?

我写了一个简短的脚本来查找和保存某些文件.我使用以下行选择保存位置:

ask_dir = tkFileDialog.askdirectory(initialdir= os.path.dirname(sys.argv[0]))

但是,askdirectory窗口(至少在我的WinXP机器上)过小,并且不可调整大小. Tkinter似乎没有任何明显的命令来增加此窗口大小 – see link here.我该如何解决这个问题?

最佳答案 在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惯例,这也不好……

点赞