Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 如何为.exe文件使用askopenfilename?_Windows_Tkinter_Pyinstaller - Fatal编程技术网

Windows 如何为.exe文件使用askopenfilename?

Windows 如何为.exe文件使用askopenfilename?,windows,tkinter,pyinstaller,Windows,Tkinter,Pyinstaller,我有一个带有GUI的程序,您可以在其中搜索文件。 我使用Tkinter中的askopenfilename root = Tk() root.filename = filedialog.askopenfilename(initialdir = "/",title = "Select file",filetypes = (("jpeg files","*.jpg"),("all files","*.*"))) 在我用pyinstaller将它构建到一个.exe文件后,我想启动它。 但是如果我启动

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

root = Tk()
root.filename =  filedialog.askopenfilename(initialdir = "/",title = "Select file",filetypes = (("jpeg files","*.jpg"),("all files","*.*")))
在我用pyinstaller将它构建到一个.exe文件后,我想启动它。 但是如果我启动
.exe
文件,我会看到一个窗口,然后它会立即关闭。 它有助于不使用
root.mainloop
。 我能做什么?
谢谢

您的问题很可能是导入中的问题,您没有包含任何问题,因此我只能假设

这是我通常会使用的:

(在python 3.8.1 x64和pyinstaller 3.6上测试)


使用
pyinstaller.exe--onefile“path/to/script.py”

生成.exe。这个问题似乎与
askopenfilename
无关。这行代码似乎工作得很好。听起来像是在问如何从python运行.exe程序。此.exe是否创建自己的窗口?你是怎么开始的?您是否在退出后检查返回代码?这些都是我们需要知道的详细信息。@BryanOakley这主要是一个“这在我的环境中起作用,但当我制作
PyInstaller
.exe时它不起作用”的问题。我试过将它作为一个
--onefile
(带或不带终端)来使用,它要么是一个错误的导入,要么是一个坏的设置。
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","*.*")))