当前课程知识点:Python 交互式程序设计导论 >  第2周 >  A 课程视频(Python交互式应用) >  按钮

返回《Python 交互式程序设计导论》慕课在线视频课程列表

按钮在线视频

按钮

下一节:输入框

返回《Python 交互式程序设计导论》慕课在线视频列表

按钮课程教案、知识点、字幕

Hi,大家好,欢迎大家回到Python课堂。

今天是一件令人兴奋的课程, 今天我将和大家一起创建我们的第一个交互式应用程序。

我将教会大家如何使用Simplequitk如何创建框架,如何在框架内使用按钮。

我们将以老式的计算器作为我们的实例模板。

本周我们只实现计算器的最基本的功能,如:显示、加法、减法等。

下次课,我们将给大家介绍如何使用输入框, 这时大家会看到功能基本完整的计算器。

好,下面开始我们今天的课程。

下面我们来看一下计算器的基本逻辑。首先我们的计算器会接收数据。

我们的数据主要分为两类:整形和浮点型。

我们称作第一个被输入的数据叫做被操作数,我们用变量store去表示。

因为在这里我们只有按钮,没有输入,所以我们给它一个常量store=10。

第二个输入数据我们称作为操作数,我们用operand去表示。

同样我们也用一个常量operand=5。

那它实现的基本功能有:显示、加法、减法和交换。

注意,在这里呢,交换功能我们先不去解释为什么要用一个交换功能?

在后面我们会看到它的主要用途。

对于乘法和除法,因为时间的关系,这个我们不在课堂上去完成它的功能。

请大家下去自行完成。

那我们创建的图形框架,分为左和右。

左侧我们称之为:控制区域;

右侧我们称之为:画布区域。

那么在我们的控制区域,主要有这样几个功能按钮。

首先是显示按钮,第二个是我们的加法按钮,

第三个呢是我们的减法按钮,第四个是我们的交互按钮。

那么我们不在画布中做任何操作。

那我们计算器的最后显示是在那里呢?是在我们Pycharm控制台里。

当我们点击一次显示按钮以后,我们的被操作数store和 操作数operand就会被输出。

当我点击一次交互按钮以后,那我的被操作数和 操作数就会进行一次交互,

10和5就会交换成5和10。

当我点击一次加法按钮时,那我的被操作数就会变成了15。

而我的操作数仍然是10。

好,下面我们看一下代码的具体实现。

好,我们已经给出来了一个计算器的一个模板。

我们在这里呢,我们定义了两个全局变量,

一个是store我们的被操作数,它等于10。

一个是operand,也就是我们的操作数,它等于5。

我们定义了两个函数,

第一个函数那是显示函数output(),在显示函数里面有三行输出。

分别是:Store等于多少、Operand等于多少,

然后输出了一个分割行,用来区分我上一个和下一个的输出。

第二个函数那是一个交换函数swap(),

因为我们定义的store和operand是一个全局变量,

因此我们在对这个store和operand进行操作的时候,

我们必须先进行声明。

global全局变量的一个声明,

如果不进行声明,那么我们后面对它进行操作的时候,

我们就认为它是一个局部变量,

因此对我们的全局变量store和operand不会有任何的改变。

好。最后呢,我们有一个output()和swap()的一个调用。

第一个是调用显示函数,使用了两次swap()交换函数。

好,我们来运行一下。

显示,store=10,operand=5,正确。

交换一次,store=5,operand=10,也是正确的。

再交换一次,store=10,operand=5。

好,下面呢,我们的任务是:使用simplequitk创建画布使用按钮。

好,那么第一步,我们要导入simplequitk这个模块包,

import simplequitk,在这里我们已经写好了,把注释去掉就可以了。

好,那么导入成功以后,第一件要做的事情就是我们要创建框架。

它的语法我已经写好了,我们把这个注释去掉就可以了。

那么frame,就是我们创建的框架等于simplequitk,

就是我们刚才导入的这个simplequitk这个模块包点create_frame,

这是一个固定语法结构。大家照着写就ok了。

那么在这里呢,第一个title就是我们创建框架的名称。

好,我们把它叫做计算器。

那么第二个参数是画布的宽度,这个呢是像素为单位,我们写400。

第三个canvas.height(canvas_height)就是画布的高度,我们也给400。

那么第四个参数是控制台的,就是画布得到这个框架以后,

控制区域的这个宽度,默认呢是200像素。

我们可以不改它,我们就按默认值走就行了。

我们就不写它,按默认值走就行了。

好了,框架创建好之后呢,紧接着我们要启动它。

如果不启动,没有任何反应。

那么,它的语法结构就是frame.start(),恩frame.start()。

好了,这时候呢,我们把函数的调用去掉。

我们来运行一下,看看有什么变化。

恩,我们发现控制台没有任何的显示。因为我们把调用函数已经取消了。

我们发现在Pycharm后面多了一个框架。

这里显示“计算器”,恩,这是我们刚才我们输入的。

那么这个黑色的部分就是我们的画布,那么它是一个400*400的一个区域。

那么左侧,这是我们的控制区。那么它是一个200,宽度是200。

好,那么我们的框架已经创建好了。

那么下面是怎么样在框架上添加按钮。

恩,非常的简单。

我已经把添加按钮的语法写在这里了,语句已经写在这里了。

就是我们刚才创建的这个frame,增加按钮,

就是点add_button,这是需要注册按钮点add_button。

好了,这个地方给的这个text,就是button的名称,

恩,注意,一定是英文符号。

button的名称我们叫做“显示”。

好,下面就是,我点了这个button以后,它应该执行什么操作。

既然我点显示,它的操作当然是output,

所以我写output。恩,output。

好,后面呢,这是一个可选参数,什么意思呢?

就是如果我不写值,那么它就根据我这个button的名称的 长短去显示我的button长度。

如果我给它一个长度,那么它就按我指定的长度去显示。

为了美观我们给一个100。ok。

那么我们看一看是不是我们想要的结果。

点一下运行,好,我们看后面这个。

这是我们看到,在我们的框架上已经有了一个显示按钮。

好,我们想点一下看看显示会不会输出我们的结果。

哦,我们发现在控制台,我的store和operand值已经被输出了。

我再点显示一下。啊,非常的棒。

好,感觉很简单。

好,第二个,我们再添加一个按钮。

frame.add,注意你看我们一敲,在Pycharm里它会自动弹出我们想要的函数。

如果是我们选,如果是我们的第一个函数,我们直接敲Tab键就可以了。

如果不是,我们可以通过上下键去选择。

好,Tab。第一个名称,名称我们叫“交换”。

那么,点击交换按钮以后,我想调用的是swap函数。

那么,它的宽度是100。

好,再次运行。

显示,恩,交换,再次交换。

是不是觉得很简单啊?

好,那么下面我们要完成的是,让我们的计算器实现加法和减法。

首先,我们要定义加法和减法的函数。

定义def,加法的函数。

那我们一般在起函数名的时候,都希望见到函数名就 知道这个函数在做什么。

不能随便起函数名。

好,我们写一个add。

好,因为我们要对store和operand这个全局变量进行操作。

所以我们首先要进行一个全局变量的声明。

好,那我们操作是什么呢?

是希望这个全局变量store呀,等于 加上,这就是我们加法的完成操作。

就是,把我们的被操作数加上操作数得到的值,再复制给被操作数。

操作完成以后,我们显示一下,output。

好,我们一口气把减法函数也写出来。

那么,减法函数我们用减法函数的英文单词 前三个单词缩写,subtraction

第一步同样也是声明全局变量。

好,第二步,我希望得到的是store等于store减去operand。 恩,operand。

好,操作完成以后我输出一下。

ok,这是我的加法函数和减法函数。

没有问题,我在这里增加按钮。

frame.add_button(),那么我的函数名是“加法”,恩,加法。

那么我调用的函数是add函数。

那么我的这个button的宽度,也就是这个按钮的宽度是100。

add_button,我想要的是减法按钮。

我要调用的函数呢是sub函数。

我的宽度是100

好,我们运行一下。

显示,好,没问题。

交换,没问题。

加法,5加10等于15。

所以store等于15;operand等于10。

再加一次,恩,25。

再加一次,非常棒。

减法,35减10等于25。

再减,恩,太棒了。

好,在这里面,我要提醒大家一个小问题。

就是,在我们这个add函数里面,我们令的是store等于store加operand。

那么,对于这个语句,在我们Python里面我们可以这样去写

恩,我们把这个注释起来。

同理,在这里,我们也可以这样去写。

恩,我们把上面这行注释起来。

我们再运行一下。

显示、交换、加法

加法、加法、减法

减法、减法,是不是很有趣呀?

好,今天的课程就到这。

我们下次课再见。

Python 交互式程序设计导论课程列表:

第0周

-课程简介

--课程简介

-A 课程视频(算数操作符及表达式)

--绪论

--Python交互式解释器使用方法

--PyCharm集成开发环境介绍

--算数操作符及表达式

-B 课程视频(变量及赋值)

--变量

--项目提交

--“我喜欢Python”热身小项目

-C 辅助视频(计算机结构、Python开发环境安装)

--Windows平台安装Python开发环境

--Mac平台安装Python开发环境

-D 辅助视频(如何提交项目)

--项目提交

-第0周--小测验

-本周项目:"我喜欢Python"

--项目发布、完成、提交及评分流程

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

--项目提交

第1周

-A 课程视频(函数)

--函数

--其它操作符

--随机函数

-B 课程视频(逻辑及表达式)

--逻辑值和比较

--条件

--编程技巧

--“老虎杠子鸡虫”游戏

-第1周--小测验

-本周项目:“老虎杠子鸡虫”游戏

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

第2周

-A 课程视频(Python交互式应用)

--事件驱动编程

--事件可视化跟踪执行

--SimpleGUITk

--按钮

-B 课程视频(输入框、全局变量)

--输入框

--局部变量和全局变量

--编程技巧

--“猫咪藏在哪个房间”游戏

-第2周--小测验A

-第2周--小测验B

-本周项目:猫咪藏在哪个房间

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

第3周

-A 课程视频(画布绘图)

--画布和图形绘制

--字符串处理

--绘图和计时器可视化跟踪执行

--图片和音效

-B 课程视频(计时器)

--计时器

--交互式绘图

--“神奇时钟”游戏

--编程技巧

-第3周--小测验A

-第3周--小测验B

-本周项目:“神奇时钟”

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

第4周

-A 课程视频(列表)

--列表

--键盘输入

--列表及变化可视化跟踪执行

--碰撞和反射

-B 课程视频(键盘控制)

--速度控制

--运动

--编程技巧

--“桌上冰球”游戏

-第4周--小测验A

-第4周--小测验B

-本周项目:“桌上冰球”游戏

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

第5周

-A 课程视频(鼠标输入、列表进阶)

--鼠标输入

--Video

--Video

--Video

-B 课程视频(字典和图片)

--Video

--Video

--Video

--Video

-第5周--小测验A

-第5周--小测验B

-本周项目:“世界杯八强连连看”

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

第6周

-A 课程视频(类)

--面向对象编程(类和对象入门)

--面向对象编程(类和对象进阶)

--对象可视化跟踪执行

--华容道中的类

-B 课程视频(平铺图片)

--平铺图片

--理解对象

--编程技巧

--“华容道”游戏

-第6周--小测验A

-第6周--小测验B

-本周项目:“华容道”游戏

--游戏说明

--程序说明

--编码步骤

--评分标准

--项目模板

第7周

-A 课程视频(类进阶及文件操作)

--集合

--文件操作

--文字块类

--处理停止的文字块

-B 课程视频(游戏状态控制)

--游戏记分规则

--游戏结束的条件及处理

--编程技巧

--“决战三字经”游戏

-第7周--小测验A

-第7周--小测验B

-本周项目:决战三字经

--游戏说明

--程序说明

--编程步骤

--评分标准

--项目模板

第8周

-A、课程视屏(精灵集合)

--Video

--精灵类

--战士类

--编程技巧

-B、课程视屏(动画)

--精灵碰撞

--精灵动画

--编程技巧

--保卫家园游戏

-第8周--小测验

-本周项目:守卫家园

--游戏说明

--程序说明

--编程步骤

--评分标准

--项目模板

按钮笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。