首页 > 解决方案 > 如何对 .exe 文件使用 askopenfilename?

问题描述

我有一个带有 GUI 的程序,您可以在其中搜索文件。我使用askopenfilename来自 Tkinter 的。

root = Tk()
root.filename =  filedialog.askopenfilename(initialdir = "/",title = "Select file",filetypes = (("jpeg files","*.jpg"),("all files","*.*")))

在我用 pyinstaller 将它构建成一个 .exe 文件后,我想启动它。但是,如果我启动.exe文件,我会在短时间内看到一个窗口,然后它会立即关闭。它有助于不使用root.mainloop. 我能做些什么?谢谢

标签: windowstkinterpyinstaller

解决方案


您的问题很可能是导入中的问题,您没有包含任何问题,所以我所能做的就是假设。

这是我通常会使用的:

(在 python 3.8.1 x64、pyinstaller 3.6 上测试过)

from tkinter import *
from tkinter import filedialog

root = Tk()
root.withdraw()
root.filename =  filedialog.askopenfilename(initialdir = "/",
                                            title = "Select file",
                                            filetypes = (("jpeg files","*.jpg"),("all files","*.*")))

制作了.exepyinstaller.exe --onefile "path/to/script.py"


推荐阅读