python中面向对象的GUI开发

时间:2010-05-22 04:18:03

标签: python user-interface oop

嘿伙计们,这里的新程序员。我有一个班级的任务,我被困了...我需要做的是创建一个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

- 提前感谢所有帮助。

2 个答案:

答案 0 :(得分:0)

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

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

在调用Tk()实例mainloop()方法之前,接口中不会发生任何变化。

答案 1 :(得分:0)

更改

text=""

在Label对象实例化中

text="Label Text"

或者你想要作为标签显示什么。

接下来添加

ent.pack()
在你的make_widgets方法中使用ent.insert之后