python - 数组 tkinter 条目到标签
问题描述
嘿伙计们,我是初学者,正在使用 Tkinter 开发项目线性和二进制搜索 GUI 应用程序,我想在这里添加多个输入框值到标签和数组中,我试过但它不能正常工作:
import tkinter as tk
root=tk.Tk()
root.title("Looping of entry box")
root.geometry("1200x600")
def ApplytoLabel():
xx=size.get()
for i in range(xx):
ArrayLabel=tk.Label(root,text="Array Element")
ArrayLabel.pack()
def Boxes():
xx=size.get()
for i in range(xx):
box=tk.Entry(root)
box.pack()
ApplytoLabel1=tk.Button(root,text="Submit To Array",command=ApplytoLabel)
ApplytoLabel1.pack()
Array = tk.Frame(root)
Array.pack()
text1=tk.Label(Array,text="Enter the Size of Array:",
font="Arial 10 bold",fg="blue")
text1.grid(row=0,column=0,sticky="w")
size=tk.IntVar()
ArraySize=tk.Entry(Array,textvariable=size)
ArraySize.grid(row=0,column=1,sticky="w")
SizeofArray=tk.Button(Array,text="Submit",command=Boxes)
SizeofArray.grid(row=0,column=2,sticky="w")
root.mainloop()
解决方案
好; 它不能正常工作并不是什么问题描述,但我猜你想以某种方式保留数组元素。执行此操作的常用方法是创建一个列表,然后在创建条目时将条目添加到列表中。
创建标签时,您只需从条目列表中读取值,因为它们与标签具有相同的索引。部分代码:
def ApplytoLabel():
xx=size.get()
for i in range(xx):
element = box_list[i].get() # Get value from corresponding Entry
ArrayLabel=tk.Label(root,text="Array Element: " + element)
ArrayLabel.pack()
box_list = [] # Create list of Entrys
def Boxes():
xx=size.get()
for i in range(xx):
box=tk.Entry(root)
box.pack()
box_list.append(box) # Append current Entry to list
ApplytoLabel1=tk.Button(root,text="Submit To Array",command=ApplytoLabel)
ApplytoLabel1.pack()
推荐阅读
- angular - 如何在现有的 Angular 项目中使用 Ionic 组件
- python - 在 Pandas python 中按时隙分组数据帧
- excel - 获取 Power BI 文件夹源中的最新更新文件
- postgresql - 如何在 postgresql 中的 select 语句本身中使用列值?
- mysql - SQL 更新中的子查询可以获取刚刚更新的行吗?
- cmake - 如何让 CTest 在一个可执行文件中运行少量测试
- angular - Angular Universal 在订阅中添加元标记
- javascript - React slick 和 React router Link 不区分单击和拖动
- django - 错误:/admin/login/,预期:/accounts/login/
- deep-learning - pytorch cnn 测试结果卡住