うまくいかないように見える AttributeError が発生します。私は2つのクラスで働いています。
ファーストクラスはこんな感じです。
class Partie:
def __init__(self):
# deleted lines
self.interface = Interface(jeu=self)
def evaluerProposition(self):
# computations
self.interface.afficherReponse()
セカンドクラスのご紹介(別ファイル)。
class Interface:
def __init__(self, jeu):
self.jeu = jeu
self.root = tkinter.Tk()
# stuff
def onClick(self, event):
# talk
self.jeu.evaluerProposition()
def afficherReponse(self):
# stuff
私はすべてを始めます
partie = Partie()
クリックイベントが発生するまで、ウィジェットのすべての操作は正常に機能します
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python33\lib\tkinter\__init__.py", line 1442, in __call__
return self.func(*args)
File "C:\Users\Canard\Documents\My Dropbox\Python\AtelierPython\Mastermind\classeInterface.py", line 197, in clic
self.jeu.evaluerProposition()
File "C:\Users\Canard\Documents\My Dropbox\Python\AtelierPython\Mastermind\classeJeu.py", line 55, in evaluerProposition
self.interface.afficherReponse()
AttributeError: 'Partie' object has no attribute 'interface'
通訳者に入力しました
>>> dir(partie)
そして、属性の中に「インターフェース」を含む長いリストを返しました。
また、入力
>>> partie.interface
<classeInterface.Interface object at 0x02C39E50>
したがって、属性が存在するようです。
以前の投稿のアドバイスに従って、インスタンス名がモジュール名と一致しないことを確認しました。私は混乱しています。