Windows 如何为.exe文件使用askopenfilename?
我有一个带有GUI的程序,您可以在其中搜索文件。 我使用Tkinter中的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文件后,我想启动它。 但是如果我启动
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","*.*")))