入力フィールドにeepromの内容を表示する「グリッド」のような構造を作成するためにtkinterを使用しています。
for byteRow in range (0, 16, 1):
for byteColumn in range (0, 16, 1):
byteEeprom = StringVar()
self.byteEepromArray.append(byteEeprom)
self.entryEepromArray.append(ttk.Entry(rawEeprom, width=3, textvariable = self.byteEepromArray[byteColumn+(16*byteRow)]))
self.entryEepromArray[byteColumn+(16*byteRow)].grid(column = byteColumn, row = byteRow+2, sticky = (N, W))
上記はすべて正常に機能し、使用する関数に入力されていますself.byteEepromArray[byte].set()
が、コードを変更して、eeprom の場所の 1 つを変更したい場合は、入力フィールドの 1 つの内容を変更し、return キーを押して関数eeprom と話すために呼び出されます。残念ながら、イベントが発生するのを待つのではなく、スクリプトのインポート時に関数 makeRawProbe が呼び出されています。
for byteRow in range (0, 16, 1):
for byteColumn in range (0, 16, 1):
byteEeprom = StringVar()
self.byteEepromArray.append(byteEeprom)
self.entryEepromArray.append(ttk.Entry(rawEeprom, width=3, textvariable = self.byteEepromArray[byteColumn+(16*byteRow)]))
self.entryEepromArray[byteColumn+(16*byteRow)].grid(column = byteColumn, row = byteRow+2, sticky = (N, W))
self.entryEepromArray[byteColumn+(16*byteRow)].bind('<Return>', self.makeRawProbe(byteColumn+(16*byteRow)))
コマンドラインから何か奇妙なことを拾っている場合に備えて、に変更しようとしましたが、同じことが起こります。私はばかげたことをしていると思いますが、それが何であるかがわかりません。誰かが私を正しい方向に向けることができますか?