Массив ткинтер Въезд в лейбл - PullRequest
0 голосов
/ 31 октября 2018

Привет, ребята. Я новичок и работаю над проектом графического пользовательского интерфейса линейного и бинарного поиска с использованием Tkinter. Я хочу добавить несколько значений для полей ввода в метку и в массив здесь, я пытался, но это не работает нормально:

enter image description here

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

1 Ответ

0 голосов
/ 31 октября 2018

Хорошо; это не работает нормально, это не большая часть описания проблемы, но я собираюсь догадаться, что вы хотите каким-то образом сохранить элементы массива. Обычный способ сделать это - создать список, а затем добавить записи в список по мере их создания.

Когда вы создаете метки, вы просто читаете значения из списка Entrys, так как они имеют тот же индекс, что и метки. Часть кода:

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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...