Pythonで単純なタイマーを作成しようとしていて、クラスを使用してユーザーインターフェイスを構築しようとしています。クラスを使用してユーザーインターフェイスを初期化したいと思います。本文の本文では、.gridと.configureメソッドを使って属性を追加したいと思います。しかし、私がこれをしようとすると、エラー: 'statInter'オブジェクトには属性 'tk'が表示されません。エラーの説明 - 'statInter'オブジェクトに 'tk'属性がありません
私はプログラミングの初心者ですが、エラーが正しく理解されれば、.gridやその他のボタンメソッドはstatInter(つまり静的インターフェイス)クラスに継承されないためです。これは正しいです?このエラーを解決するにはどうすればよいですか?私はButtonクラスとTkクラスのプロパティを継承していましたが、後のケースでは無限ループ、つまり最大再帰深度を超えています。あなたは(どちらかButton
またはEntry
)から継承しているクラスからのコンストラクタのいずれかを呼び出すことはありませんので、あなたの助け
#This is a simple timer version
from tkinter import *
window = Tk()
window.title('Tea timer')
window.minsize(300,100)
window.resizable(0,0)
class statInter(Button,Entry):
def __init__(self, posx, posy):
self.posx = posx # So the variables inside the class are defined broadly
self.posy = posy
def button(self):
Button(window).grid(row=self.posx, column=self.posy)
def field(self):
Entry(window, width=5)
sth = statInter(1,2)
sth.grid(row=1, column = 2)
window.mainloop()
私はOPが_either_ 'Button'と' Entry'ではなく、両方を作成するために '' Button'とEntry'、_or_使用組成物から継承したいが疑われるが、これは、良い答えです。 –
@ブライアン:ありがとう。もちろん、「is-a」対「has-a」問題があることは間違いありません。私は即時の問題を解決するために十分に答えようとしていたので、OPは彼らの開発を続けることができました。また、Pythonで複数の継承を行う際の潜在的な将来の落とし穴を指摘しました。 – martineau