Python中的面向对象GUI开发
大家好,我是新手程序员。我在上课的时候遇到一个作业,现在卡住了……我需要做的是创建一个图形界面(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
你是想改变标签还是输入框里的内容?我假设你是想改变输入框里的内容。简单来说,答案是:
ent.delete(0, END)
ent.insert(END, 'stringy thing')
但是在调用Tk()实例的mainloop()方法之前,界面是不会发生任何变化的。
0
把
text=""
中的内容改成
text="Label Text"
或者你想要显示的任何内容作为标签。
接下来,在你的 make_widgets 方法里的 ent.insert 后面加上
ent.pack()
。