У меня небольшая проблема со значением checkbtn.

Вот мой код:

def select_data():
        select_window = Tk()

        var_autotrader = IntVar()
        check_sites_autotrader = Checkbutton(select_window, text = 'autotrader', variable = var_autotrader)
        var_bestcarfinder = IntVar()
        var_cardady = IntVar()
        var_cars = IntVar()
        var_car_gurus = IntVar()
        var_iseecars = IntVar()
        var_truecar = IntVar()

        check_sites_bestcarfinder = Checkbutton(select_window, text = 'bestcarfinder', variable = var_bestcarfinder)
        check_sites_cardaddy = Checkbutton(select_window, text = 'cardady', variable = var_cardady)
        check_sites_cars = Checkbutton(select_window, text = 'cars.com', variable = var_cars)
        check_sites_car_gurus = Checkbutton(select_window, text = 'car gurus', variable = var_car_gurus)
        check_sites_iseecars = Checkbutton(select_window, text = 'iseecars', variable = var_iseecars)
        check_sites_truecar = Checkbutton(select_window, text = 'truecar', variable = var_truecar)

        check_sites_autotrader.grid(row = 0, column = 0, sticky = W)
        check_sites_bestcarfinder.grid(row = 1, column = 0, sticky = W)
        check_sites_cardaddy.grid(row = 2, column = 0, sticky = W)
        check_sites_cars.grid(row = 3, column = 0, sticky = W)
        check_sites_car_gurus.grid(row = 4, column = 0, sticky = W)
        check_sites_iseecars.grid(row = 5, column = 0, sticky = W)
        check_sites_truecar.grid(row = 6, column = 0, sticky = W)
         def upload_selected_data():
            print(var_autotrader.get())// This one does not give me 1 when check is on
            

        btn = Button(select_window, text = 'go!',  command = upload_selected_data)
        btn.grid(row = 7, column = 0, sticky = W+E)

Проблема в том, что моя переменная не меняется, когда я устанавливаю флажок

Большое спасибо!

0
Alexandru Manole 21 Окт 2020 в 16:13

1 ответ

Лучший ответ

Вероятно, вы создали свое «главное окно» с помощью Tk(). В этом случае вы должны создать другое окно с Toplevel() (не с Tk()).

Это означает, что в вашем случае вы должны изменить строку select_window = Tk() на select_window = Toplevel()

1
milanbalazs 22 Окт 2020 в 15:16