首页 > 解决方案 > AttributeError:“应用程序”对象没有属性“tunes_list”

问题描述

我正在尝试创建一个应用程序,允许我为我玩的游戏生成曲调。但无论如何,我的目标是从 sqlite3 数据库保存和加载数据。但实际上发生的是:

Traceback (most recent call last):
  File "d:\Visual Studio\DRIFT_TUNER\gui.py", line 360, in <module>     
    app = Application(master=root)
  File "d:\Visual Studio\DRIFT_TUNER\gui.py", line 16, in __init__      
    self.populate_list()
  File "d:\Visual Studio\DRIFT_TUNER\gui.py", line 350, in populate_list
    self.tunes_list.delete(0, tk.END)
AttributeError: 'Application' object has no attribute 'tunes_list'

当我调用这样的函数时会发生这种情况populate_list()

def populate_list(self):
        self.tunes_list.delete(0, tk.END)
        for row in db.fetch():
            self.tunes_list.insert(tk.END, row)

这是我的两个文件的 Pastebins:

gui.pyhttps
db.py : //pastebin.com/aJ5qAwtS:https: //pastebin.com/mp3RnVK2

populate_list()应该清除列表框中的文本,然后从数据库中获取数据并将该数据逐行插入到列表框中。我将 Python 3.9.5 与 tkinter 和 sqlite3 一起使用。

我尝试过的事情:

我首先不完全知道这个错误意味着什么,所以任何帮助都会很好。

标签: pythonooptkinter

解决方案


self.tunes_list = tk.Entry()您可以通过添加您的或 idk来解决此问题,__init__无论您的 tunes_list 是什么


推荐阅读