我又一次陷入困境,希望能在这里找到帮助。我正在处理一个tkinter应用程序,遇到了一个类型错误,我似乎搞不清楚。
这是我用作测试的原始代码的浓缩版本。
类应用程序():
def __init__(self,master):
master.configure(background = '#002e3d')
master.title = master.title('Wiki Me!')
master.geometry = master.geometry('660x550+200+200')
master.resizable(width = False,height = False)
master.focus_set()
self.button1 = tk.Button(master,text= 'test', bg= 'grey', command= self.search)
self.button1.pack()
def search(self):
new_window = new()新类别():
def __init__(self):
self.window = tk.Toplevel()
self.window.title('find')def main():
root = tk.Tk()
window = App(root)
root.mainloop()因此,运行此操作会导致类型错误“Str对象不可调用”。
任何帮助都将不胜感激!如果重要的话,在linux上执行im,并使用空闲运行python3.4。
发布于 2016-02-24 04:01:48
你所收到的错误是由于这样的事情发生的。
my_string = "Hello World!"
my_string() # <-- Causes error当您使用master.title(str)更改窗口的标题时,它将返回一个空字符串''。使用此行,主窗口的标题将更改为'Wiki Me!'
master.title = master.title('Wiki Me!')但是master.title的值现在是一个空字符串,而不是如下所示
<bound method Tk.wm_title of <tkinter.Tk object at 0x0000000003077320>>现在,当您创建一个新的Toplevel窗口时,它使用了Tk实例的标题,在本例中,master是默认的。因为标题现在是一个字符串,而不是自然的绑定方法,所以在创建Toplevel实例时会产生问题。你所需要的就是
master.title('Wiki Me!')https://stackoverflow.com/questions/35591144
复制相似问题