Tkinter python 3.7 AttributeError: у объекта 'Button' нет атрибута 'get' - PullRequest
0 голосов
/ 12 марта 2020

Я пишу программу базы данных инвентаризации. Я новичок, поэтому я уверен, что у меня что-то не так.

def select_item():
    #Create a Database or Connect to one
    conn = sqlite3.connect('inventory.db')
    #Create Cursor
    c = conn.cursor()

    a = id_select.get()

    c.execute("SELECT * FROM inventory WHERE oid = " + a)
    records = c.fetchall()

    for record in records:
        Item_editor.insert(0, record[0])
        Quantity_editor.insert(0, record[1])
        Asset_tag_editor.insert(0, record[2])
        Notes_editor.insert(0, record[3])

#Entry Fields
id_select = Entry(editor, width=30)
id_select.grid(row=0, column=1, pady=(20, 0))
Item_editor = Entry(editor, width=30)
Item_editor.grid(row=2, column=1)
Quantity_editor = Entry(editor, width=30)
Quantity_editor.grid(row=3, column=1)
Asset_tag_editor = Entry(editor, width=30)
Asset_tag_editor.grid(row=4, column=1)
Notes_editor = Entry(editor, width=30)
Notes_editor.grid(row=5, column=1)

#Button Time!
id_select = Button(editor, text="Select Item", command=select_item)
id_select.grid(row=1, column=0, columnspan=2, pady=10, padx=10, ipadx=100)

У меня изначально не было функции, но я понял, что она мне понадобится для команды в кнопке. Ошибка указывает на мою переменную a = id_select.get () , но я уверен, что мои поля ввода добавлены правильно.

1 Ответ

1 голос
/ 12 марта 2020

Ваша ошибка связана с тем, что id_select является кнопкой. У вас изначально был id_select = Entry(editor, width=30), у которого есть .get (), но вы заменили id_select на id_select = Button(editor, text="Select Item", command=select_item), у которого его нет. Вы должны назвать свою кнопку как-нибудь еще.

...