我正在尝试打开一个csv文件,循环浏览并在Tkinter Entry框中显示csv文件中的内容,以便能够手动编辑然后写入该文件

我尝试将标签更改为条目,但是当我不执行任何操作时

def panel_admin():

    admingui.destroy()
    adminpanel = Toplevel()

    with open("Staff Bookings.csv", newline = "") as file:
        reader = csv.reader(file)


        r = 0
        for col in reader:
            c = 0
            for row in col:

                Label(adminpanel, width = 10, height = 2, \
                                   text = row, relief = RIDGE).grid(row = r, column = c)
                c += 1
            r += 1

最佳答案

您不能以与标签相同的方式设置“输入”字段的文本。您需要使用条目小部件的insert方法,如下所示

def panel_admin():

    admingui.destroy()
    adminpanel = Toplevel()

    with open("Staff Bookings.csv", newline = "") as file:
        reader = csv.reader(file)


        r = 0
        for col in reader:
            c = 0
            for row in col:

                curEntry = Entry(adminpanel, width = 10, relief = RIDGE)
                curEntry.grid(row = r, column = c)
                curEntry.insert(0, row)
                c += 1
            r += 1


请注意,如果要写出编辑后的输入字段,则可能应将curEntry存储在列表或词典中,以便以后使用。例如,您可以使用以下代码将行,列号保留为字典键,将Entry小部件保留为值。

fields[(r,c)] = curEntry

10-05 20:24
查看更多