Ошибка объекта 'str' при создании объекта tkinter.Toplevel () - PullRequest
0 голосов
/ 19 марта 2019

В этом фрагменте кода прямо здесь я получаю следующую ошибку.Я искал по всему SO и до сих пор не знаю, почему это происходит.По сути, у меня есть опция в строке меню, чтобы вернуться домой, и она должна вызвать запрос, который спрашивает, уверен ли пользователь, что он хочет уйти без отправки.

self.optionsMenu = tkinter.Menu(self, tearoff=0)  # creates 'Options' cascade
self.optionsMenu.add_command(label="Home", command=self.parent.returnHome)

...

def returnHome(self, *args):
    self.page = index.AdminApplication(self.parent)
    self.confirmLeave()


def confirmLeave(self, *args):
    confirmPopup = tkinter.Toplevel(self.parent)
    confirmPopup.title("Confirm Leave Page")
    confirmPopup.tkraise(self.parent)
    question = tkinter.Label(confirmPopup, text="Are you sure you want to leave without submitting your bracket?", font=('Helvetica', '10'))
    question.grid(row=0, column=0, sticky=tkinter.N+tkinter.S+tkinter.W+tkinter.E)
    leave = tkinter.Button(confirmPopup, text="Leave", height=0, width=100, command=self.changeRootSettings(self.page))
    leave.grid(row=1, column=0)
    cancel = tkinter.Button(confirmPopup, text="Cancel", height=0, width=100, command=confirmPopup.destroy())
    cancel.grid(row=1, column=1)
    confirmPopup.focus_force()

ошибка:

$ C:/Users/student/AppData/Local/Programs/Python/Python37-32/python.exe c:/Users/student/Documents/BracketsTool/index.py
Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Users\student\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 1705, in __call__
    return self.func(*args)
  File "c:\Users\student\Documents\BracketsTool\CreateBracket.py", line 37, in returnHome
    self.confirmLeave()
  File "c:\Users\student\Documents\BracketsTool\CreateBracket.py", line 23, in confirmLeave
    confirmPopup = tkinter.Toplevel(self.parent)
  File "C:\Users\student\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 2345, in __init__
    self.title(root.title())
TypeError: 'str' object is not callable

Sidenote: Я знаю, что код на самом деле не будет делать то, что я хочу, но я не хочу ничего пробовать, потому что я не могу проверить это, не подняв сначала окно правильно.

...