从 TTK 组合框列表中删除一个项目
Remove an item from TTK Combobox List
我目前正在研究如何从组合框下拉列表中删除项目。
目前对于我的删除按钮,我有以下代码:
def prof_del_btn():
conn = sqlite3.connect('Doom.db')
c = conn.cursor()
name=prof_input.get()
c.execute("SELECT prof FROM profile")
rows=c.fetchall()
if (name,) in rows:
delProf = c.execute('DELETE from profile WHERE prof = "{}"'.format(name))
prof_input.set('')
print('Profile {} has been deleted'.format(name))
prof_input['values'] = (prof_input['values'])
else:
prof_input.set('')
print('Profile Doesn\'t Exist')
conn.commit()
conn.close()
请注意,我一直在玩弄它,只是想不通。
目前在我的 sql 数据库中,配置文件下有 "nat" 和 "two",我想做的是删除 "two"。
我目前没有使用 类,因为我现在不太确定如何正确使用它们。我将如何重新加载列表?
您可以从 Combobox
中获取当前 values
并从列表中删除所需的项目,然后更新 values
。此外,您不需要在 DELETE
语句之前执行 SELECT
语句。下面是修改后的代码:
def prof_del_btn():
name = prof_input.get()
if name:
with sqlite3.connect('doom.db') as conn:
c = conn.cursor()
c.execute('DELETE FROM profile WHERE prof = ?', (name,))
if c.rowcount > 0:
print('Profile {} has been deleted'.format(name))
options = list(prof_input['values'])
options.remove(name)
prof_input['values'] = options
else:
print('Profile {} does not exist'.format(name))
prof_input.set('')
conn.commit()
我目前正在研究如何从组合框下拉列表中删除项目。 目前对于我的删除按钮,我有以下代码:
def prof_del_btn():
conn = sqlite3.connect('Doom.db')
c = conn.cursor()
name=prof_input.get()
c.execute("SELECT prof FROM profile")
rows=c.fetchall()
if (name,) in rows:
delProf = c.execute('DELETE from profile WHERE prof = "{}"'.format(name))
prof_input.set('')
print('Profile {} has been deleted'.format(name))
prof_input['values'] = (prof_input['values'])
else:
prof_input.set('')
print('Profile Doesn\'t Exist')
conn.commit()
conn.close()
请注意,我一直在玩弄它,只是想不通。 目前在我的 sql 数据库中,配置文件下有 "nat" 和 "two",我想做的是删除 "two"。
我目前没有使用 类,因为我现在不太确定如何正确使用它们。我将如何重新加载列表?
您可以从 Combobox
中获取当前 values
并从列表中删除所需的项目,然后更新 values
。此外,您不需要在 DELETE
语句之前执行 SELECT
语句。下面是修改后的代码:
def prof_del_btn():
name = prof_input.get()
if name:
with sqlite3.connect('doom.db') as conn:
c = conn.cursor()
c.execute('DELETE FROM profile WHERE prof = ?', (name,))
if c.rowcount > 0:
print('Profile {} has been deleted'.format(name))
options = list(prof_input['values'])
options.remove(name)
prof_input['values'] = options
else:
print('Profile {} does not exist'.format(name))
prof_input.set('')
conn.commit()