我想將10個按鈕添加到Tkinter,名爲One to Ten。我基本上只使用暴力方法,在我的應用程序類的init函數中添加每個按鈕。它的工作原理,但我想盡量減少使用的代碼,更有效率,如使用數據結構來保存所有的按鈕。如何有效地將很多按鈕添加到tkinter框架?
我正在考慮用buttonBox
來放置所有的按鈕,但我不確定我是否可以通過grid()
來操作放置按鈕的方式。
self.one = Button(frame, text="One", command=self.callback)
self.one.grid(sticky=W+E+N+S, padx=1, pady=1)
self.two = Button(frame, text="Two", command=self.callback)
self.two.grid(sticky=W+E+N+S, row=0, column=1, padx=1, pady=1)
self.three = Button(frame, text="Three", command=self.callback)
self.three.grid(sticky=W+E+N+S, row=0, column=2, padx=1, pady=1)
# ...
self.ten = Button(frame, text="Ten", command=self.callback)
self.ten.grid(sticky=W+E+N+S, row=1, column=4, padx=1, pady=1)
任何人都可以讓我看到一種更高效的方法,比如數據結構嗎?
謝謝!這工作,但我不得不將它更改爲「self.button.append()」,所以它不會導致IndexError。而底線我改爲self.button [i] .grid(),而不是self.one.grid()。它完美的工作:) – thatbennyguy
@thatbennyguy:Ack!感謝您的更正! – unutbu
只有一件事......你如何獲得按鈕來回調不同的命令? – thatbennyguy