在Python中创建Toplevel小部件时出错

时间:2016-11-15 15:56:54

标签: python tkinter toplevel

我正在编写一个应用程序来控制串行连接设备,现在我陷入了GUI错误,这里是简化代码:

    import Tkinter

class PaginaPrincipale(Tkinter.Tk):
    def __init__(self, parent):
        Tkinter.Tk.__init__(self, parent)

        def connetti():
            pagina_connessione=Tkinter.Toplevel()
            pagina_connessione.title("Gestione connessione")

            pagina_connessione.mainloop()


        self.parent = parent
        self.grid()
        self.gestisci_connessione = Tkinter.Button(self, text="Connetti!", command=connetti)
        self.gestisci_connessione.grid(row=0, column=0, sticky='EW')


if __name__ == "__main__":
    applicazione = PaginaPrincipale(None)
    applicazione.title = 'Pannello di controllo'
    applicazione.mainloop()

当我运行该程序时,我收到此错误:TypeError: 'str' object is not callable

我是Python2.7的新手,我希望有人能告诉我我做错了什么!

1 个答案:

答案 0 :(得分:1)

窗口小部件有一个名为title的方法,您可以使用它来设置标题。但是,执行此操作时,您将用字符串替换此函数:

applicazione.title = 'Pannello di controllo'

完成此操作后,任何后续调用函数title的尝试都会导致您收到错误(即:您不能"#34;#34;字符串)。

相反,您需要将title作为函数调用:

applicazione.title('Pannello di controllo')