Tkinter按钮不执行命令



我正试图创建一个按钮,从用户机器打开本地文件。我已经设置了按钮,打开文件的功能非常简单。当点击实际按钮时,实际上什么都没有发生。预期的结果应该是打开一个显示本地文件的框。

到目前为止,这是我的程序:

from tkinter import *
import tkinter.filedialog
gui = Tk(className='musicAi')
gui.geometry("500x500")

def UploadAction(event=None):
filename = filedialog.askopenfilename()
print('Selected:', filename)
# create button
importMusicButton = Button(gui, text='Import Music', command = UploadAction, width=40, height=3, bg='#0052cc', fg='#ffffff', activebackground='#0052cc', activeforeground='#aaffaa')
linkAccountButton = Button(gui, text='Link Account', width=40, height=3, bg='#0052cc', fg='#ffffff', activebackground='#0052cc', activeforeground='#aaffaa')
settingsButton = Button(gui, text='Settings', width=40, height=3, bg='#0052cc', fg='#ffffff', activebackground='#0052cc', activeforeground='#aaffaa')
helpButton = Button(gui, text='Help', width=40, height=3, bg='#0052cc', fg='#ffffff', activebackground='#0052cc', activeforeground='#aaffaa')
# add button to gui window
importMusicButton.pack()
linkAccountButton.pack()
settingsButton.pack()
helpButton.pack()

gui.mainloop()

由于使用import tkinter.filedialog导入filedialog,因此需要使用tkinter.filedialog.askopenfilename()来执行askopenfilename()

import tkinter.filedialog更改为from tkinter import filedialogimport tkinter.filedialog as filedialog

我有一个完美的选择。

不使用:import tkinter.filedialog你可以用更好的东西。

使用:from tkinter.filedialog import *

然后您可以从filename = filedialog.askopenfile()中删除filedialog

将其更改为:filename = askopenfile():(

由于在Uploadfunction中使用了事件对象作为参数,因此请使用bind方法。

ImportMusicButton.bind(<"Button-1">, lambda:UploadAction())

在UploadAction(event=None(中,删除事件参数的默认值。应该是

def UploadAction(event):
code goes here...

相关内容

  • 没有找到相关文章

最新更新