Отображение синтаксической ошибки при попытке выполнить проект с помощью treeview

#python #sqlite #tkinter #treeview

#python #sqlite #tkinter #просмотр дерева

Вопрос:

Может кто-нибудь, пожалуйста, скажите мне, в чем проблема с этим кодом

 import tkinter as tk
from tkinter import messagebox
from tkinter import ttk
from registration import DBConnect
class ListTicket():
    def __init__(self):
        self.db=DBConnect()
        self.root=tk.Tk()
        tv=ttk.Treeview(self.root)
        tv.pack()
        tv.heading("#0",text="ID")
        tv.column=("NAME")
        tv.column = ("GENDER")
        tv.column = ("COMMENTS")
        tv.heading("NAME",text="NAME")
        tv.heading("GENDER",text="GENDER")
        tv.heading("COMMENTS",text="COMMENTS")
        cursor =self.db.Show()
        for row in cursor:
            tv.insert("","end","#{}".format(row["ID"],text=row["ID"])) #1
            tv.set("#{}".format(row["ID"],column="NAME",value=row["name"]) #2
            tv.set("#{}".format(row["ID"],column="GENDER",value=row["gender"]) #3
            tv.set("#{}".format(row["ID"],column="COMMENTS",value=row["comment"]) #4
       self.root.mainloop()
  

Я получаю синтаксическую ошибку в строке 2,3,4. Я беру значения из базы данных.

Комментарии:

1. Пожалуйста, опубликуйте полный код ошибки

2. НИЧЕГО, КРОМЕ СИНТАКСИЧЕСКОЙ ОШИБКИ.tv.set(«#{}».format(строка [«ID»], столбец =»ПОЛ», значение = строка [«пол»]) ^ SyntaxError: недопустимый синтаксис

Ответ №1:

Что касается вашей синтаксической ошибки:

 for row in cursor:
    tv.insert("","end","#{}".format(row["ID"],text=row["ID"])) #1
    tv.set("#{}".format(row["ID"],column="NAME",value=row["name"])) #2
    tv.set("#{}".format(row["ID"],column="GENDER",value=row["gender"])) #3
    tv.set("#{}".format(row["ID"],column="COMMENTS",value=row["comment"])) #4
  

Вы забыли закрыть скобки в конце каждого tv.set() .