Python 3.1、tkinter/ttk
ウィジェットにリンクされた tkinter の変数をウィジェットとは異なるクラスに格納する方法を理解するために、非常に簡単なことを書きました。以下のコード。
質問:
1) ボタンを押してもラベルが変わらないのはなぜですか?
2) そんなに多くの自己が必要ですか? 各メソッド内の変数は、自己なしで管理できますか。最初に?
うまくいけば、答えは他の tkinter 初心者にとって有益な学習演習になるでしょう...
from tkinter import *
from tkinter.ttk import *
root = Tk()
class Store:
def __init__(self):
self.v = IntVar()
self.v.set(0)
def set(self, v):
self.v.set(v)
class Main:
def __init__(self):
self.counter = 0
self.label = Label(root, textvariable = a.v)
self.label.pack()
self.button = Button(root, command = self.counter, text = '+1')
self.button.pack()
def counter(self):
self.counter = self.counter + 1
a.set(self.counter)
a = Store()
b = Main()
root.mainloop()