Невозможно отобразить меню с помощью переключателей в Tkinter Python - PullRequest
0 голосов
/ 24 марта 2020

Хотите отображать меню с помощью переключателей для каждого элемента и отображать их на GUI, а отображаемые элементы импортируются из базы данных SQL, поэтому получается эта ошибка _tkinter.TclError: unknown option "- текст " при выполнении следующего кода

from tkinter import *
import tkinter as tk
import pyodbc as pd

display = Tk()
mb = Menu(display)
menubar = tk.Menu(mb)


def gett():
    disp(conn)


def disp(conn):
    cursor = conn.cursor()
    cursor.execute('SELECT "Food Item" FROM dbo.Sheet1$')
    i = 0
    radio = IntVar()
    for row in cursor:
        menubar.add_radiobutton(text=row[0], variable=radio, value=i)
        i += 1
    menubar.add_cascade(Label="Items", menu=menubar)


conn = pd.connect(
    "Driver={SQL Server Native Client 11.0};"
    "Server=LAPTOP-I8FD6VJC\SQL2016;"
    "Database=Restaurant;"
    "Trusted_Connection=yes;"
)
disp(conn)

1 Ответ

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

В вашем коде есть следующие проблемы:

  • text=... в menubar.add_radiobutton(text=row[0], variable=radio, value=i) должно быть label=...

  • menubar.add_cascade(Label="Items", menu=menubar) должно быть mb.add_cascade(label="Items", menu=menubar)

Также смешивать from tkinter import * и import tkinter as tk вместе - плохая практика. Просто используйте более позднюю версию.

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