我想将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