无效的命令名称“::tk::dialog::file::”

Invalid command name "::tk::dialog::file::"

我试图在 Tcl/Tk 中打开一个简单的文件打开对话框,但每当我 运行 tk_getOpenFile 我收到以下错误:

invalid command name "::tk::dialog::file::"
    while executing
"::tk::dialog::file:: open {*}$args"
    (procedure "tk_getOpenFile" line 5)
    invoked from within
"tk_getOpenFile"
    (procedure "open" line 2)
    invoked from within
...

我运行正在使用 Arch Linux 存储库中的最新版本 Tcl/Tk,8.6.9。可能是什么原因造成的?

它看起来像是一个损坏的安装。 …/tk.tcl中的过程tk_getOpenFile(其中是安装Tk的库文件的地方)委托给…/tkfbox.tcl中的过程::tk::dialog::file::(是的,一个不寻常的过程名称),但这似乎不适用于您的情况。文件丢失,或者同一目录中的 tclIndex 文件已损坏。 (那是使用一种旧的代码自动加载机制,新代码在……好吧,在这个千禧年中使用并没有真正意义。保留它是为了向后兼容。)