TTK Treeview只在i中插入新行时显示第一个单词

2024-10-03 19:30:57 发布

您现在位置:Python中文网/ 问答频道 /正文

一段简单的代码,从SQL数据库中获取歌曲的名称和艺术家,并将其放入树中。我已经检查过了,c.execute的输出中包含了艺术家的名字和姓氏,但是当我查看树视图时,只显示了他们的名字(或第一个单词)。我不明白为什么会这样。这只适用于第二列,因为第一列不受影响

def songs(root):
        tree = ttk.Treeview(root,columns=['Song Name'])

        tree.heading("#0",text="Artist")
        tree.heading("Song Name",text="Song Name")

        DB = sqlite3.connect("DB.db")
        c = DB.cursor()
        DBSongs = c.execute("""SELECT * FROM Songs""").fetchall()
        songs = []



        for ID, songName, artist in DBSongs:
          songs.append([songName,artist])

        print(songs)
        for songName, artist in songs:
            tree.insert('','end',text=str(songName),values=(artist))
        tree.pack()

歌曲的输出是一个列表,[[“你很漂亮”,“詹姆斯·布朗特],[“智者”,“詹姆斯·布朗特],[“没有勇气”,“詹姆斯·布朗特]


Tags: textnametreeexecutedbsongartistroot