2010-05-22 2 views
0

Эй, ребята, новый программист здесь. У меня есть назначение для класса, и я застрял ... Что мне нужно сделать, так это создать графический интерфейс, который дает кому-то базовую арифметическую проблему в одной коробке, просит человека ответить на него, оценивает его и сообщает, «повторно правильно или неправильно ...Объектно-ориентированный графический интерфейс в python

в принципе, то, что у меня есть это:

class Lesson(Frame): 
    def __init__ (self, parent=None): 
     Frame.__init__(self, parent) 
     self.pack() 
     Lesson.make_widgets(self) 

    def make_widgets(self): 
     Label(self, text="").pack(side=TOP) 

     ent = Entry(self) 
     self.a = randrange(1,10) 
     self.b = randrange(1,10) 
     self.expr = choice(["+","-"]) 

     ent.insert(END, str(self.a) + str(self.expr) + str(self.a)) 

Я сломал это на множество маленьких шагов, и в основном то, что я пытаюсь сделать прямо сейчас вставьте случайное выражение по умолчанию в первый виджет ввода. Когда я запускаю этот код, я просто получаю пустой ярлык. Почему это? Как я могу положить что-то вроде «7 + 7» в коробку? Если вам абсолютно нужна информация о проблеме, это вопрос № 3 по этой ссылке.

http://reed.cs.depaul.edu/lperkovic/csc242/homeworks/Homework8.html

-Спасибо за всю помощь заранее.

+0

Не используйте [код], используйте четырехмерные отступы. –

ответ

0

Вы хотите изменить Метка или содержимое Въезда? Я возьму последний. Короткий ответ

ent.delete(0, END) 
ent.insert(END, 'stringy thing') 

но ничего не собирается менять в интерфейсе до метода Tk() экземпляра MainLoop() называется.

0

Изменение

text="" 

в объекте Ярлык конкретизации в

text="Label Text" 

или, что вы хотите, чтобы показать, как метка.

Следующая добавить

ent.pack() 

после ent.insert в вашем методе make_widgets.

Смежные вопросы