Как удалить строку дерева в Python, используя значение в его столбце - PullRequest
0 голосов
/ 07 ноября 2019

Я пытаюсь удалить строку дерева, используя значение в его столбце в моем питоне 3.

Я использую дерево

selected_item = tree.selection () [0]. delete (selected_item)

но это не тот код, который я ищу. Я попытался использовать поле ввода, где я вводил идентификатор для своего продукта, и он автоматически добавлялся в виде дерева. И я хочу удалить продукт автоматически, если идентификатор, который уже введен в список

from tkinter import ttk
from tkinter import Tk, Entry
import tkinter as tk
import sqlite3

def View():
    conn = sqlite3.connect("mbd.db")
    cur = conn.cursor()
    cur.execute("SELECT * FROM product where itemnum='" + entry.get() + "';")
    rows = cur.fetchall()
    for child in tree.get_children():
        if entry.get() == float(tree.item(child, 'values')[0]):
            selected_item = tree.selection()[0]
            tree.delete(selected_item)
        else:
            for row in rows:
                tree.insert("", tk.END, values=row)
    conn.close()
    root.after(1000, View)

def dup():
    for ids in tree.get_children():
        List = tree.item(ids, 'values')[0]
        for i in List:
            if List.count(i)>1:
                print(i, List.index(i))

root = tk.Tk()
root.title("Automated Shopping Cart")
tree= ttk.Treeview(root, column=("column1","column2", "column3"), show='headings')
tree.heading("#1", text="Item No.")
tree.heading("#2", text="Item Name")
tree.heading("#3", text="Price")
tree.grid(row=0, columnspan=2)

remove_button = tk.Button(root, text="remove",font=(None, 18), command=dup)
remove_button.grid(row=2,column=2)

entry = Entry()
entry.grid(row=0, column=2, sticky=tk.W)
View()
root.mainloop()

Я ожидаю, что продукт будет удален автоматически, если я введу идентификатор, который уже существует в древовидном представлении

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...