2010-05-22 40 views
0

嗨,大家好,这里是新程序员。我有一个课堂作业,我卡住了...我需要做的是创建一个GUI,在一个盒子里给人一个基本的算术问题,要求这个人回答它,评估它,并告诉你,如果你“重新对或错...python中面向对象的GUI开发

基本上,我有是这样的:

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

-Thanks用于提前全部帮助。

+0

请勿使用[code],请使用四格缩进。 – 2010-05-22 04:28:56

回答

0

是否要更改条目的标签或内容?我会假设后者。简短的回答是

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

没有什么能比在界面,直到TK()实例主循环()方法来改变被调用。

0

更改

text="" 
在标签对象实例化

text="Label Text" 

,或者你想显示为标签什么都。

接下来你make_widgets方法你ent.insert之后添加

ent.pack()