我正在寻找一种在Tkinter中动态创建元素的方法。例如,假设用户输入5,我想要一个循环来创建5个单选按钮和旁边的条目。循环创建元素Tkinter
0
A
回答
1
这里有一个简单的例子,让你开始:
import Tkinter as tk
class ButtonBlock(object):
def __init__(self, master):
self.master = master
self.button = []
self.button_val = tk.IntVar()
entry = tk.Entry()
entry.grid(row=0, column=0)
entry.bind('<Return>', self.onEnter)
def onEnter(self, event):
entry = event.widget
num = int(entry.get())
for button in self.button:
button.destroy()
for i in range(1, num+1):
self.button.append(tk.Radiobutton(
self.master, text=str(i), variable=self.button_val, value=i,
command=self.onSelect))
self.button[-1].grid(sticky='WENS', row=i, column=0, padx=1, pady=1)
def onSelect(self):
print(self.button_val.get())
if __name__ == '__main__':
root = tk.Tk()
ButtonBlock(root)
root.mainloop()
+0
谢谢,这正是我所期待的。 – Arktri 2013-03-26 16:49:17
1
小部件没有什么特别之处。你在一个循环中创建它们,您将创建任何其他对象以相同的方式:
for i in range(5):
r = tk.Radiobutton(...)
r.pack(...) # or .grid(...)
# if you need to reference these buttons later,
# save them in a list
self.buttons.append(r)
相关问题
- 1. 循环创建多个div元素? JQUERY
- 2. 如何循环使用jinja2 for循环来创建一个select元素?
- 3. 循环类元素
- 4. 创建循环
- 5. 创建html元素并使用for循环(或映射?)附加子元素
- 6. 使用for循环来创建html元素
- 7. for循环中动态创建的html元素的Onclick事件
- 8. 为事件循环创建一个可观察元素
- 9. 用循环在列表元素中创建多个列表项
- 10. 如何触发循环中创建的所有元素'onclick?
- 11. 优化嵌套循环使用jQuery创建HTML元素
- 12. 使用for循环创建元素和事件侦听器
- 13. 循环创建的元素的值始终是5
- 14. jQuery通过动态创建相同类的元素来循环
- 15. jquery循环创建具有保留值的元素
- 16. 循环创建一个元组
- 17. Tkinter循环功能
- 18. Python Tkinter:寻址由for循环创建的标签小部件
- 19. 在循环中创建多个输入框tkinter
- 20. 在循环中同时创建和设置变量tkinter
- 21. 删除在For循环中创建的标签小部件(Tkinter)
- 22. Tkinter销毁按钮创建一个循环
- 23. 无法通过tkinter for循环创建按钮。 (Python)
- 24. 在循环中创建的Tkinter复选框
- 25. 创建for循环
- 26. 创建for循环
- 27. 创建与循环
- 28. 创建foreach循环
- 29. 创建循环图
- 30. 硒循环所有元素
这可以使用理解列表轻松完成。但是,也可以发布您尝试过的内容。 – 2013-03-26 16:21:25
我还没有编码任何东西,因为我不知道从哪里开始。我认为我遇到的主要问题是动态创建变量名称。 – Arktri 2013-03-26 16:32:40