Форум сайта python.su
0
День добрый господа, не могу понять почему то вот это часть функции не срабатывает
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)
Офлайн
72
Переменная self.state_varible должна быть типа IntVar, а не BooleanVar. BooleanVar любое число не равное нолю превращает в True.
Офлайн
0
Спасибо за ответ все понятно
)
Офлайн