Pythonで学ぶ 基礎からのプログラミング入門 (26) オブジェクト指向について学ぼう(8)
self.label.pack()
self.button.pack()
def clicked(self):
self.value += 1
self.label.configure(text=self.getText())
def getText(self):
return "Count:{}".format(self.value)
f = tk.Frame()
c1 = Counter(value=0, master=f)
c2 = Counter(value=5, master=f)
c1.pack()
c2.pack()
f.pack()
f.mainloop()
ちょっとコードが複雑になっていますが、Counterはtk.Frameを継承して作り、自分自身の中にラベルとボタンを配置するという構成になっています。
また、継承を使わないコードと使うコードの最後の部分を見比べてもらうとわかりますが、継承をしない場合はあくまでも「俺ルール」で表示をさせているのに対して、継承を使う場合はほかのtkのウィジェットのGUIパーツとほとんど違いなく利用できています。ほかのGUIパーツのように使えるので、今回はFrameの中に入れて2つ利用するということをやっています。