gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-30 01:22:32 24 4
gpt4 key购买 nike

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

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 约定,这也不好......

关于python - 如何更改 tkFileDialog.askdirectory 的窗口大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21558028/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com