在尝试搜索数据库中的名称时遇到Tkinter Treeview和SQLite的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在尝试搜索数据库中的名称时遇到Tkinter Treeview和SQLite的问题相关的知识,希望对你有一定的参考价值。

我已经成功地点击了我的tkinter GUI上的搜索按钮并将结果显示在我的树视图中但是如果我想再次直接搜索我会收到错误,因为当第二次尝试写入时它会写入同一行第一个搜索查询。如何清除树视图或确保我的程序写入树视图中的下一行?

srchEntry = str(searchEntry.get())
conn = sqlite3.connect('test.db')
c = conn.cursor()
c.execute("SELECT memberID, fullName, username FROM Test WHERE fullName ='"+srchEntry+"'")
conn.commit()
data = c.fetchall()
treeview.insert("", 0, 1, values=(str(data[0][0]), str(data[0][1]), str(data[0][2])))

所以'data'将返回('memberID','fullname','username')我将这些值插入到我的树视图中

答案

阅读doc Treeview.insert

insert()有参数index来选择行。或者你可以使用单词end放在最后一行之后。


delete()需要插入行/项目的id(不是行号)

item_id = treeview.insert(...)

然后

treeeview.delete(item_id)

以上是关于在尝试搜索数据库中的名称时遇到Tkinter Treeview和SQLite的问题的主要内容,如果未能解决你的问题,请参考以下文章

多线程 Python Tkinter 串行监视器中的按钮问题

matplotlib 在 tkinter 画布中的缩放功能

获取 zip 文件中的文件夹名称 - Python

使用名称从网站上抓取数据表

Tkinter 文件对话框名称空间错误

如何在 python 3.4 tkinter“索引错误:列表索引超出范围”中修复此错误