在子类python中调用父方法

2024-05-19 01:41:34 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的密码:

class GUI(playGame):
    def __init__(self):                          

        import tkinter as tk
        home=tk.Tk()
        home.title("Tic Tac Toe")
        home.geometry("160x180")
        w,h=6,3


        self.c1r1=tk.Button(text='',width=w, height=h, command=lambda: userTurn(self.c1r1))
        self.c1r1.grid(column=1,row=1)
        home.mainloop()

所以,userTurn已经在父类playGame中定义了,但是当我运行它并单击按钮c1r1时,我得到 名称错误:未定义名称“userTurn”


Tags: importself名称密码homeinittkinterdef
1条回答
网友
1楼 · 发布于 2024-05-19 01:41:34

您需要向函数调用添加self。您可能应该在init中调用super()

import tkinter as tk

class playGame():
    def userTurn(self,foo):
        pass

class GUI(playGame):
    def __init__(self):
        super().__init__()
        home=tk.Tk()
        home.title("Tic Tac Toe")
        home.geometry("160x180")
        w,h=6,3

        self.c1r1=tk.Button(text='',width=w, height=h, command=lambda: self.userTurn(self.c1r1))
        self.c1r1.grid(column=1,row=1)
        home.mainloop()

相关问题 更多 >

    热门问题