RadioButton tkinter : строковые индексы должны быть целыми числами

#python #tkinter #radio-button

Вопрос:

Я просто хочу создать класс, который показывает и обрабатывает некоторые RadioButtons из них . Я здесь новичок Tkinter и не понимаю, в чем проблема.

Когда я запускаю его, появляется сообщение об ошибке :

  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/tkinter/__init__.py", line 2567, in _setup
    name = cnf['name']
TypeError: string indices must be integers
 

Я думаю, что я неправильно обрабатываю данные в «режимах», но это просто ощущение.
Это и есть код:

 from tkinter import Checkbutton, Radiobutton, StringVar, Tk, Label, IntVar

class Enabler:
    b1: Radiobutton
    b2: Radiobutton
    v: StringVar

    def __init__(self, tk: Tk, r: int, c: int):
        Label(tk, " username/email and password required?").grid(row=r, column=c)
        var = StringVar(tk, "active")
        var.set("active")
        modes = [
            ("Yes", "active"),
            ("No", "disabled")
        ]
        tmp_c: int = c
        for k, v in modes:
            Radiobutton(tk, text=k, value=v, variable=var,
                        command=self.getValue).grid(row=r, column=tmp_c)
            tmp_c  = 1

    def getValue(self) -> str:
        print(self.v.get())
        return self.v.get()


tk = Tk()
e = Enabler(tk, 0, 0)
 

Я использую python3.10

Комментарии:

1. Вам необходимо указать text=" username/email and password required?" в Label(tk, " username/email and password required?").grid(row=r, column=c)

2. Я чувствую себя такой глупой