2 回答

TA貢獻1862條經(jīng)驗 獲得超7個贊
from tkinter import *
class Buttons:
def __init__(self, row, column, frame):
self.row = row
self.column = column
b = Button(frame).grid(row = self.row, column = self.column)
tk = Tk()
b1 = Buttons(row = 1, column = 1, frame = tk)
tk.mainloop()
當 tkinter 有一個 Button 類時,您創(chuàng)建了一個 Button 類。使用您自己的變量名可能會有所幫助:) 我想它是試圖遞歸地創(chuàng)建您創(chuàng)建的 Button 類的實例,而不是創(chuàng)建 tkinter 模塊內(nèi)的 Button 類的實例。

TA貢獻1874條經(jīng)驗 獲得超12個贊
在__init__
在Button
您要工作在一個新的實例類Button
類:
b = Button(frame)
由于button.__init__
需要 3 個參數(shù),row, column, frame
因此腳本失敗。如果你沒有傳遞row
和column
也,你會遇到的遞歸問題,可能無限地創(chuàng)造新的實例Button
。
編輯:正如評論和其他答案中所指出的,tkinter
有自己的Button
類,你正在覆蓋,這就是為什么你應該盡量避免這樣做
from tkinter import *
而只是import tkinter
調(diào)用tkinter.Button
.
添加回答
舉報