您好,我是tkinter新手,正在尝试一个简单的tkinter GUI,但出现错误:
TypeError: 'NoneType' object is not callable
这是我的代码:
from tkinter import *
from tkinter import filedialog
import pandas as pd
import pyodbc
from sqlalchemy import create_engine
import urllib
master = Tk()
master.title("Demo GUI")
master.geometry("900x400+150+150")
master.resizable(0,0)
def browse_file():
global file_path
global data_frame
file_path = filedialog.askopenfilename(title = "Choose the file to upload")
data_frame = pd.read_excel(file_path)
Label = Label(master,text="Choose the file to upload").grid(row=0)
Button = Button(master,text='Browse',command = browse_file).grid(row=0,column=1,pady=4)
Label_1 = Label(master,text="The file selected: "+file_path).grid(row=1,column=0)
master.mainloop()
我得到的错误是
TypeError Traceback (most recent call last)
<ipython-input-29-451372edd65a> in <module>
25 Button = Button(master,text='Browse',command = browse_file).grid(row=0,column=1,pady=4)
26
---> 27 Label1 = Label(master,text="The file Choosen: "+file_path).grid(row=1,column=0)
28
29
TypeError: 'NoneType' object is not callable
您所犯的错误是输入错误:通过书写:
将
grid
调用的结果分配给原始的tk.Label类型(Label
)。网格返回调用为None
因此,当您尝试创建Label1时,实际上是在调用Label,现在是
None
只需将该行替换为:
或者干脆
这就是答案:
“NoneType”对象不可调用错误是由于将对象放置在定义的位置引起的。 所以不是
尝试:
或
也不要使用Button=Button(master…),而是为变量指定一个唯一的名称
相关问题 更多 >
编程相关推荐