更多GUI之让GUI做点事情,,


  让GUI做点事情

  现在有了一个非常基本的GUI,这个窗口包含了一个按钮和一个非常简单的菜单。(菜单是自动增加的)不过它什么也做不了。我们还没有编写代码来告诉程序当有人点击按钮时要做些什么,这就像有一辆汽车,虽然有车身和四个轮子,但是没有发动机尽管看起来不错,可是哪里也去不了。

  与孩子一起学编程-python教程

  我们需要一些代码让程序运行起来,对于PythonCard程序来说,起码要有下现这些代码:

  与孩子一起学编程-python教程

  由Python就可以想见,PythonCard中的一切都是对象,每个窗口都是对象,要用class关键字定义。把上面的代码键入到IDLE或SPE编辑器窗口中,保存为MyFirstGui.py,这个名字很重要,它必须与资源文件同名,不过不包括.rsrc部分。

  主代码:MyFirstGui.py

  资源文件:MyFirstGui.rsrc.py

  这两个文件还要保存在同一个新加坡 ,这样Python才能把这两个文件都找到。

  现在可以从SPE或IDLE运行这个程序,你会看到窗口打开,可以点击按钮,不过什么都不会发生,我们已经让程序运行起来,但是还没有为按钮编写任何代码。现在关闭这个程序(可以点击标题栏中的X,也可以使用File>Exit菜单来关闭程序)。

  下面来完成一个简单的任务,点击按钮时,让它移动到窗口中的一个新位置。从第4行删除pass关键字,再增加代码清单20-1中的第5行到第12行代码。

  与孩子一起学编程-python教程与孩子一起学编程-python教程

  一定要让整个def块比class语句多缩进4个空格,如代码清单所示。为什么要这么做?这是因为所有组件都在窗口中,也就是说要作为窗口的一部分,所以按钮的代码应该放在这个类定义内。

  试着运行这个代码,看看会发生什么,下一节将详细分析这个代码。

评论关闭