Уведомления

Группа в Telegram: @pythonsu

#1 Май 6, 2020 13:53:53

alesi
Зарегистрирован: 2019-07-17
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работает один из Radiobutton в tkinter

День добрый господа, не могу понять почему то вот это часть функции не срабатывает

 if self.state_varible.get() == 2:
            self.field_result['text'] = '+88999998714'
при задействовании
  self.radio_button_lesha = Radiobutton(main, text='Леша', variable=self.state_varible, value=2, indicatoron=0, command=self.phone_book)  #
весь код:
 from tkinter import *
root = Tk()
class PhoneBook():
    def __init__(self, main):
        self.field_call = Label(main, text='Мини телефонный справочник', width=27, font=15)
        self.state_varible = BooleanVar()
        self.state_varible.set(0)
        self.radio_button_vasya = Radiobutton(main, text='Вася', variable=self.state_varible, value=0, indicatoron=0, command=self.phone_book)  #
        self.radio_button_petya = Radiobutton(main, text='Петя', variable=self.state_varible, value=1, indicatoron=0, command=self.phone_book)  #
        self.radio_button_lesha = Radiobutton(main, text='Леша', variable=self.state_varible, value=2, indicatoron=0, command=self.phone_book)  #
        self.field_result = Label(main, width=27, font=15)
        self.field_call.pack()
        self.radio_button_vasya.pack()
        self.radio_button_petya.pack()
        self.radio_button_lesha.pack()
        self.field_result.pack()
    def phone_book(self):
        if self.state_varible.get() == 0:
            self.field_result['text'] = '+79999999999'
        if self.state_varible.get() == 1:
            self.field_result['text'] = '+02356998714'
        if self.state_varible.get() == 2:
            self.field_result['text'] = '+88999998714'
window_phone = PhoneBook(root)
root.mainloop()

Отредактировано alesi (Май 6, 2020 14:01:10)

Офлайн

#2 Май 6, 2020 14:25:19

rami
Зарегистрирован: 2018-01-08
Сообщения: 281
Репутация: +  72  -
Профиль   Отправить e-mail  

Не работает один из Radiobutton в tkinter

Переменная self.state_varible должна быть типа IntVar, а не BooleanVar. BooleanVar любое число не равное нолю превращает в True.

Офлайн

#3 Май 6, 2020 14:52:19

alesi
Зарегистрирован: 2019-07-17
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работает один из Radiobutton в tkinter

Спасибо за ответ все понятно )

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version