Как исправить проблему листинга с CSV на Tkinter - PullRequest
0 голосов
/ 29 мая 2019

Мне нужна помощь в создании набора кнопок, где первая кнопка будет указывать «Камера 1» вплоть до седьмой кнопки, которая будет «Камера 7». Из того, что я вижу в своем коде, все 7 кнопок просто берут последнюю строкуфайл CSV, который является Camera 7. Есть ли способ, чтобы у каждой кнопки было свое отличительное имя?

Я попытался изменить список в строке 24, но я не уверен, как

Это мой код Python:

import tkinter.messagebox
root = Tk()
root.title("Video Equipment Reservation System")

infile = open('CamCSV.txt','r')
for line in infile:
    data = line.split(',')
    button = list()
    for i in range(7):
        button.append(Button(text=data[1], background=data[2]))
        button[i].grid(row=0,column=i)

, а это мой CSV-файл

cam,Camera 2,green,0
cam,Camera 3,green,0
cam,Camera 4,green,0
cam,Camera 5,green,0
cam,Camera 6,green,0
cam,Camera 7,red,0

Каждая кнопка должна отличаться.

1 Ответ

1 голос
/ 29 мая 2019

Удалить второй цикл for.Вы читаете первую строку, затем вы делаете 7 кнопок с информацией из этой первой строки.Каждый раз, когда вы читаете новую строку, вы переписываете эти 7 кнопок.Вместо этого нажимайте одну кнопку каждый раз, когда читаете строку.

button = list()
i = 0
for line in infile:
    data = line.split(',')
    button.append(Button(text=data[1], background=data[2]))
    button[i].grid(row=0,column=i)
    i += 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...