次のように、 grid() を介してエントリを作成する関数があります:(while-loopを関数に置き換えます。これは、後でどのように見えるかを示すだけです)
from Tkinter import *
root = Tk()
index=0
while index < 10:
col0 = Text(root,width=20, height=1, bg='white')
col0.grid(row=index,column=0)
col0.insert('0.0',"name")
col1 = Text(root,width=20, height=1, bg='white')
col1.grid(row=index,column=1)
col1.insert('0.0',"attribute #1")
col2 = Text(root,width=20, height=1, bg='white')
col2.grid(row=index,column=2)
col2.insert('0.0',"attribute #2")
col3 = Text(root,width=20, height=1, bg='white')
col3.grid(row=index,column=3)
col3.insert('0.0',"counter")
index+=1
root.mainloop()
そのため、特別なイベントで関数が呼び出され、新しいエントリ (新しい行) が作成されます。しかし、このイベントのエントリが既にある場合は、カウンターを増やしたいだけです。
イベント名とそのエントリ行 (インデックス) は辞書に保存されるので、行と列はありますが、実際に col3 にアクセスするにはどうすればよいですか?
col3.get() 経由でカウンターを取得する予定でしたが、すべての行で col3 と呼ばれているので、どうすれば指定できますか?
代わりに、col0、col1、col2 などを一種の構造体 (辞書など) に入れて、col0[name].insert()... (名前は一意) を介してアクセスすることは可能ですか? 私はそれを試しましたが、うまくいきませんでした(それが不可能であることを意味するわけではありません、私はPythonにまったく慣れていません)
私の問題に対する提案や解決策はありますか?