Python 如何更改tkFileDialog.askdirectory的窗口大小?
我写了一个查找和保存某些文件的简短脚本。我使用以下行选择保存位置:Python 如何更改tkFileDialog.askdirectory的窗口大小?,python,tkinter,Python,Tkinter,我写了一个查找和保存某些文件的简短脚本。我使用以下行选择保存位置: ask_dir = tkFileDialog.askdirectory(initialdir= os.path.dirname(sys.argv[0])) 但是,askdirectory窗口(至少在我的WinXP机器上)太小,无法调整大小。Tkinter似乎没有任何明显的命令来增加窗口大小-。如何解决此问题?在Windows上,似乎使用了FolderBrowserDialog功能,但无法轻松调整大小,尽管可能需要一些努力才能调
ask_dir = tkFileDialog.askdirectory(initialdir= os.path.dirname(sys.argv[0]))
但是,askdirectory窗口(至少在我的WinXP机器上)太小,无法调整大小。Tkinter似乎没有任何明显的命令来增加窗口大小-。如何解决此问题?在Windows上,似乎使用了
FolderBrowserDialog
功能,但无法轻松调整大小,尽管可能需要一些努力才能调整大小
根据一些线索,可以使用该模块将此代码“翻译”为Python
下面是一些调整窗口大小的基本代码,以说明这将如何工作:
import win32gui
win = win32gui.FindWindowEx(None, None, "NULL,"#32770", None)
win32gui.SetWindowPos(win, 0, 500, 500, 900, 900, 0)
您还需要a)获取当前位置,并使用该位置而不是硬编码的值,以及b)调整窗口内所有小部件的大小(请参阅链接文章)
问题:
- 很难看
- 我的window类总是设置为
(win7,64位),对我来说它看起来不是很可移植。。。我没有调查这件事的原因#32770
正在阻塞,因此您需要启动一个单独的线程,轮询窗口是否打开,然后调整其大小。不仅如此,用户还可能在调整大小之前看到旧窗口大小的“闪烁”askdirectory
用其他东西替换它可能是一种选择,尽管这会打破操作系统的UI惯例,这也是不好的…我开始怀疑更好(更简单)的解决方案是在这里使用wxPython而不是Tkinter。@bigcat42:Tkinter的主要优点是1)简单,2)速度,3)它可用于默认安装。。。如果您想要一个大而复杂的GUI,它可能不是最佳选择(尽管这是可能的)。请注意,如果wxPython或任何其他工具包不重新实现此对话框,它们将遇到相同的问题。