首页 > 解决方案 > 数组 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()

标签: pythonpython-3.xtkinter

解决方案


好; 它不能正常工作并不是什么问题描述,但我猜你想以某种方式保留数组元素。执行此操作的常用方法是创建一个列表,然后在创建条目时将条目添加到列表中。

创建标签时,您只需从条目列表中读取值,因为它们与标签具有相同的索引。部分代码:

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()

推荐阅读