Tkinter: отображение списка элементов в текстовом графическом виджете tkinter - PullRequest
0 голосов
/ 06 марта 2019

Я хочу отображать каждую строку и столбец с правильными значениями, но с помощью виджета tkinter я не вижу ожидаемого результата. Ожидание составляет

('1', '2', '3', '4', '5')
('aa', 'bb', 'cc', 'dd', 'ee')
('!@', '%^', '&*', '@#', '@$')
('A', 'B', 'C', 'D', 'E')

, но только ('A', 'B', 'C', 'D', 'E') отображается во всех строках. пожалуйста, помогите мне разобраться с проблемой:

from tkinter import *
top=Tk()
for t in [("1","2","3","4","5"),("aa","bb","cc","dd","ee"),("!@","%^","&*","@#","@$"),("A","B","C","D","E")]: 

for x in range(4):
    for y in range(5):
        w = Text(top, width=15, height=2)
        w.grid(row=x,column=y)
        w.insert(END, t[y])


top.state("zoomed")
top.mainloop()

1 Ответ

1 голос
/ 06 марта 2019

Вам не нужен этот цикл:

for t in [("1","2","3","4","5"),("aa","bb","cc","dd","ee"),("!@","%^","&*","@#","@$"),("A","B","C","D","E")]: 

Вместо того, чтобы:

from tkinter import *
top=Tk()
t = [("1","2","3","4","5"),("aa","bb","cc","dd","ee"),("!@","%^","&*","@#","@$"),("A","B","C","D","E")]

for x in range(4):
    for y in range(5):
            w = Text(top, width=15, height=2)
            w.grid(row=x,column=y)
            w.insert(END, t[x][y])

top.state("zoomed")
top.mainloop()

OUTPUT

out

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...