前提・実現したいこと
TkinterでUIを作成しているのですが、ボタンを押した際にボタンの背景色を変更したいと考えています。
以下のようなforで回してボタンを10x10個敷き詰めたUIです。
Tkinterについて、まだわかっていないことだらけなのでどうかご教示願います。
該当のソースコード
Fieldクラスは10x10のlistで値は0で初期化されています。
Python
1import tkinter as tk 2from Field import Field 3 4 5class Gui(tk.Frame): 6 7 def __init__(self, master=None): 8 super(Gui, self).__init__(master) 9 self.field = Field() 10 self.create_widget() 11 12 def create_widget(self): 13 for y in range(self.field.height): 14 for x in range(self.field.width): 15 tk.Button(self, text=str(self.field.field[y][x]), font=('Helvetica', 20)).grid(column=x, row=y, sticky=('N', 'S', 'E', 'W')) 16 self.grid(column=0, row=0, sticky=('N', 'S', 'E', 'W')) 17 18 for i in range(10): 19 self.columnconfigure(i, weight=1) 20 21 for i in range(10): 22 self.rowconfigure(i, weight=1) 23 24 self.master.columnconfigure(0, weight=1) 25 self.master.rowconfigure(0, weight=1) 26 27 28def main(): 29 root = tk.Tk() 30 root.geometry('800x800') 31 root.title('Test') 32 Gui(root) 33 root.mainloop() 34 35 36if __name__ == '__main__': 37 main() 38
試したこと
listで管理しようと思いましたが、Noneが追加されるためできなかった。
補足情報(FW/ツールのバージョンなど)
Ubuntu16.04
python 3.6

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/14 13:21