我正在使用TKinter创建一个基本程序,允许我添加,更新,删除和查看我在个人图书馆中拥有的图书。我奋力的2份代码:在Tkinter GUI中显示不正确的行
当我点击查看记录,在GUI中的文本应显示记录列表,每个项目出现在自己的行。
它也不应该在每次按下按钮时重复列表。
查看按钮
view_records = Button(root, text="View Records", width=12, command=view_command) view_records.grid(row=3,column=3,columnspan=2,sticky='w’) def view_command(): listings.delete(0,END) # does not duplicate entries for multiple clicks for row in personal_library_backend.view(): listings.insert(END,row) # this does not list rows per index
这是我的后台脚本:
def insert(title, author, genre, year):
conn=sqlite3.connect("library.db")
cur=conn.cursor()
cur.execute("INSERT INTO books VALUES (NULL,?,?,?,?)",(title,author,genre,year))
conn.commit()
conn.close()
def view():
conn=sqlite3.connect("library.db")
cur=conn.cursor()
cur.execute("SELECT * FROM books")
rows=cur.fetchall()
conn.close()
return rows
当我运行程序时,我不断收到一个错误,指出“坏文本索引0”在view_command函数上。我似乎无法弄清楚。有人能指引我朝着正确的方向吗?文本组件的
什么是“列表”?它是一个'Entry'小部件,一个'Text'小部件还是一个'LIstbox'小部件? –
对不起,我应该提到...这是一个列表框。 –
如果它是一个列表框,为什么你接受了向你展示如何更新'Text'小部件的答案? –