【发布时间】:2019-12-15 09:42:39
【问题描述】:
我开始使用名为 Tkinter 的模块对 GUI 进行编码,但在使用 askopenfilename 语句按钮选择文件时,我的代码仍然有错误。 这是错误
Tkinter 回调异常 回溯(最近一次通话最后): 调用中的文件“C:\Users\Admin\AppData\Local\Programs\Python\Python37->32\lib\tkinter__init__.py”,第 1705 行 return self.func(args) SelectOsuFile 中的文件“C:\osu2mp4\src\osr2mp4-gui.py”,第 6 行 osu_file = filedialog.askopenfilename(initialdir="C:\User\" + username >+ "\Desktop", filetypes=('.osu'),) 文件“C:\Users\Admin\AppData\Local\Programs\Python\Python37->32\lib\tkinter\filedialog.py”,第 375 行,在 askopenfilename 返回 Open(**options).show() 文件“C:\Users\Admin\AppData\Local\Programs\Python\Python37->32\lib\tkinter\commondialog.py”,第 43 行,显示 s = w.tk.call(self.command, w._options(self.options)) _tkinter.TclError: bad file type "", 应该是 "typeName {extension ?>extensions ...?} ?{macType ?macTypes ...?}?" [3.937s 完成]
我试图调试我的代码以查看问题,但它是一行
import getpass
import tkinter
from tkinter import filedialog
def SelectOsuFile():
osu_file = filedialog.askopenfilename(initialdir="C:\\User\\" + username + "\\Desktop", filetypes=('*.osu'))
return osu_file
def SelectOsrFile():
osr_file = filedialog.askopenfilename(initialdir="C:\\User\\" + username + "\\Desktop", filetypes=('*.osr'))
return osr_file
def SelectDirectory():
directory = filedialog.askdirectory(initialdir="C:\\User\\" + username + "\\Desktop")
def Start():
start = print('Start')
username = getpass.getuser()
root = tkinter.Tk()
root.geometry('480x360')
buttonOsuExtension = tkinter.Button(root, text='Select .osu file', command=SelectOsuFile)
buttonOsrExtension = tkinter.Button(root, text='Select .osr file', command=SelectOsrFile)
buttonSkinFolder = tkinter.Button(root, text='Select skin folder', command=SelectDirectory)
buttonStart = tkinter.Button(root, text='Start', command=Start)
buttonOsuExtension.pack()
buttonOsrExtension.pack()
buttonSkinFolder.pack()
buttonStart.pack()
root.mainloop()
【问题讨论】:
标签: python user-interface tkinter