Есть несколько вещей, над которыми вам нужно поработать.
Вы должны следовать указаниям PEP8 для именования ваших переменных. Определите все ваши импорта в начале файла. Последнее и самое важное: вы должны использовать оператор with open
при обновлении списка. Помните, что with open
, назначенный на open
, автоматически закроет файл после завершения оператора with
.
Кроме того, эта строка здесь self.listboxrdL = Listbox(self.Left,width=30).grid(row=1)
не позволит вам добавлять информацию в список.
Убедитесь, что вы используете менеджер геометрии на новой строке, чтобы предотвратить проблемы, выполнив следующее:
self.listboxrdL = Listbox(self.Left,width=30)
self.listboxrdL.grid(row=1)
Код:
import os
import csv
import tkinter as tk
os.chdir(r"C:\Users\Umer Selmani\Desktop\prog.practice\MP1")
class Diet:
def __init__(self):
self.left = tk.Frame(root, width=250, height=200, bg='salmon')
self.left.pack(side="left", pady=5)
tk.Label(self.left, text="Food Menu").grid(row=0)
self.listbox_rdl = tk.Listbox(self.left, width=30)
self.listbox_rdl.grid(row=1)
with open('FoodDB.csv', 'r') as fdb:
file = csv.reader(fdb)
for q in file:
self.listbox_rdl.insert("end", q)
tk.Button(self.left, text="Continue", bg="red").grid(row=2)
root = tk.Tk()
diet = Diet()
root.mainloop()