gpt4 book ai didi

Python Tkinter : Adding widgets to file dialogs

转载 作者:太空宇宙 更新时间:2023-11-03 14:29:02 24 4
gpt4 key购买 nike

我将 TkinterPython 2.62.7 一起用于图形用户界面编程。

这些用户界面包含用于从 tkFileDialog 模块打开文件和保存数据的对话框。我想调整对话框并添加一些更多的条目小部件,例如让用户发表评论。

有什么办法吗?

文件对话框似乎是直接从操作系统中获取的。在 Tkinter 中,它们派生自 tkCommonDialog 模块中的 Dialog 类,并调用框架小部件的 tk.call("tk_getSaveFile") 方法(在这种情况下用于保存数据)。

我找不到这个方法的定义位置。

最佳答案

call 方法在 _tkinter.c 中定义,但是对于您的特定任务来说没有什么有趣的。它只是调用一个 Tcl 命令,命令 tk_getSaveFile 完成所有工作。

是的,当操作系统上有本地文件对话框时,tk_getSaveFile 会使用它们(例如,GetSaveFileName 在 Windows 上使用) .可以在那里添加小部件,但不能不篡改 Tk 的 C 源代码。如果您确定您的目标使用非本地 Tk 对话框,您可以通过修改 ::tk::dialog::file:: 向其小部件层次结构添加一些内容来自 Tk 的过程(参见 library/tkfbox.tcl)。

我宁愿选择 alternative implementation of tk_getSaveFile ,用纯 Tcl/Tk 编写,从不使用操作系统工具。这样,我们可以确定它的布局对于所有操作系统都是相同的,并且它不会随着新版本的 Tk 突然改变。围绕它为 python 提供一个方便的 API 仍然远非易事,但至少,这是可能的。

关于Python Tkinter : Adding widgets to file dialogs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14686543/

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