Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » tkinter создание GUI из нескольких классов [RSS Feed]

#1 Июль 7, 2011 01:27:42

sligel
От:
Зарегистрирован: 2010-12-15
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

tkinter создание GUI из нескольких классов

я в ООП и питоне недавно, вот пытаюсь создать GUI состоящее из нескольких классов

from tkinter import *

class radio():
def __init__(self,window=None):
self.window = window
self.frame = Frame (self.window,
relief='groove',
bd=2)
self.frame.place(x=10,y=10)

self.variable = StringVar()
self.variable.set('normal')
## self.variable.set('disabled')

self.radio_normal = Radiobutton(self.frame,
text='normal',
value='normal',
variable=self.variable)
self.radio_normal.grid(row=0,column=0,sticky="w")
self.radio_disabled = Radiobutton(self.frame,
text='disabled',
value='disabled',
variable=self.variable)
self.radio_disabled.grid(row=1,column=0,sticky="w")

def getter(self):
return self.variable.get()


class label():
def __init__(self,variable,window=None):
self.window = window
self.variable = variable
self.frame = Frame (self.window,
relief='groove',
bd=2)
self.frame.place(x=100,y=10)
self.label = Label(self.frame,
text='normal')
self.label.pack()

self.activator()

def activator(self):
if self.variable == 'normal':
self.label['text'] = 'normal'
self.label['state'] = 'normal'
else:
self.label['text'] = 'disabled'
self.label['state'] = 'disabled'




window = Tk()

obj = radio(window=window)
print(obj.getter())
obj1 = label(variable=obj.getter(),window=window)

window.mainloop()
не могу понять как сделать чтобы лейбл во втором классе реагировал на
изменения радиобуттона в первом, можно конечно в один класс затолкать,
но может быть есть вариант…



Офлайн

  • Начало
  • » GUI
  • » tkinter создание GUI из нескольких классов[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version