内容正文:
好,同学们,我们接着上节课来讲,这节课我们讲的是这个动态变量。我们讲动态变量其实就是动态跟踪一些变量值的变化,从而保证值的变化能及时反映到我们的显示界面上去。这个是我们拍摄里面其他的内置方法做不到的。前面我们讲到的这些,大家有没有发现有一个特点,就比如说enter输入关,我们讲这个,你看我们获取到这个TST的文本框里面的内容,以及我们的输入框里面内容之后,是不是都是要先清空,就是先清空后插入,是不是这个很麻烦。我们今天学完这个动态变量之后,就变得特别简单了。因为我们只要创建了一个整形动态变量或者是字符那个动态变量之后,他们都有这个方法,就是get的方法就是获取我们变量里面的内容。Set方法就是设置变量的内容,就有一点类似于我们的一个容器。创建完这个容器之后,这个容器就有两种方法。一个是一个是设置,往这个容器里面设置内容,也可以是获取容器里面内容,都是可以的。比如说我们给大家举个例子,就以这个例子为例。我们首先是创建一个主窗口,这个主窗口的内容我就直接在这复制了。Road点mental尾箱,这里面我们改一下动态变量。好,这个动态变量我们这里面先创建一个我们的entry输入框。创建完这个输入框之后,我们给它布局一下。好,这里面的话我们比如说创建一个动态的整形变量,给大家看一下,我们就是v into one,and that这里面你也可以创建我们的这个string one,这是动态字符串变量。我们我们一般创建动态字符串变量的较多,也可以创建动态整形变量也行。这个里面需要注意一点,就是如果我们的打包方式是这样的。如果是以这种打包方式的话,我们就得注意。那我们怎么改呢?这个叫TK点儿string one,这个你要改成TK点TK这个你们需要注意。比如说我们要创建一个空间,就是TK点entry就可以了。那我们一般默认使用这个的居多,下面的这个我就给它注释掉了。好,创建完这个动态字符串变量之后,我们就把它进行一个绑定。这里面我们的entry有一个属性叫text variable。这个单词其实分开也好,很好翻译,就是text文本web变量,那就是文本变量是不是给它绑定我们刚才创建的这个V就可以了。绑定完之后,我们就有两种方法,一个set。比如说我们往里面摄入一个hello,就这样的话就把我们的hello这个内容大家看下是不是设置好了。比如说我们再创建一个按钮。那我们创建按钮的话干什么呢?就是切换里面的内容。给它布局一下,我们创建一个函数切换。这里面我们如果按照以往的话,是不是都是一点delete 0到N的。然后把你想要的内容给它一点银色的插入进去,是不是?但是我们现在让这个entry绑定了我们的动态字符串变量之后,就变得非常方便了。我们只需要关心我们的V就行了,就是V点C1下。比如说word来我们看一下点击这里面我们没有忘记绑定函数了,这个一定要绑定函数再来一次。点击切换,你看这个内容是不是切换了。有了这个动态字符串变量之后,我们只需要关心这个V就行了,而不需要关注他这个RE这个对象比以前要相对来说要简单很多。我们来看一下这个练习题,它这有一个例题,我们来看一下,就是有这么一个题目,就这一个输入框,我们在这里面输入我们的这个公式,点击等于在这后面计算出我们的结果。就这么一个题目我们来看一下怎么做。这里面就利用到了我们的这个动态变量,它这样来做的话非常的方便。首先我们就是把上面的代码注释掉,我们这个主窗口还是要的,主主窗口代码我就不写了。好,这里面的话,我们首先第一个就是输入框,我们把它创建一下意义。其实同学们如果说我们是绑定动态变量的话,其实这个两个竖弯压根这第一个是不需要给它设置一个变量的,我们就直接就是这样entry。Root然后再是我们的什么这个PA就是GRD括号。若我们的零列为我们的零,那么这里面我们可以创建一个V这里面我就是string,string one创建完之后,我们给它绑定一下我们的这个text variable,给它绑定一下就行了。接下来就是我们的这个按钮button,我们就是发展一下road TST。好,给它布局一下,这里面我们可以写一个函数计算。好,这时候我们要绑定了,不要不要又搞弯了,计算好,再还有一个就是我们的这个输入宽,这个输入框的话,我们要创建一个变量。因为我们当然也不需要,如果你要绑定动态变量的话,也不需要来我们给大家演示一下,那就V一来我们是都是采全程采用的这种方式。好,那就是我们的这个entry。然后它是。root . GRD。这里面我们这个button布局不能用这个pack,用grade布局。这是若我们的零列为我们的?一我把它复制一份拿过来改一下就行了。那这个就是我们的二就是012来我们来看看效果,这里面我们要绑定一下text web v2。这应该是有一个单词写错了,CRUMN, 这单词写错了。大家也要会看错误,你看bad option,这个大家一看就是单词写错了。好,有没有发现这个界面跟这不一样?那我们就可以设置这个输入框的它的一个宽度。我们找到第一个给他个十五,第二个的话,它这个明显是要窄很多,那我们就给个8,我们来看看效果。好,这样就差不多了。如果你还要继续设置也行,因为我我没有按照他给的这个要求来去做,就差不多就行。我们在这里面首先输入2乘1个3,比如说我减一等于,那这里面就显示6。好,我们直接就是V一点get就能够获取到我们这个第一个输入框里面的所有内容。获取到这个内容之后,我们就可以使用这个一倍函数。因为我们知道这个一倍函数它的好处就是将我们的这字符串直接转成我们的这个潘森表达式进行一个计算。那这个就得到了这样的一个结果,我们把它赋给一个变量,然后再是直接就是V二点set一下,把我们的内容放进去就行了。好,把我们的内容放进去就可以了。那我们来试一下,比如说是33乘以一个二来点击等于这样的话是不是就可以了。但是还有一个问题,就是如果说我们在这边瞎写的话,你看这时候他是不是报错了。那我们就可以引入我们的这个异常捕捉,把我们这个内容给它放到try except进来。这个大家也要稍微了解一下,我们考试的时候一般只考这个try example就差不多了。然后我们这里面也可以设置一些内容提示,就是输入错误,就是提醒一下用户。来我们看一下。比如说我在里面输入一个2乘1个随便写,那点击等于这样的话我们就可以提示了,是不是?所以说我们引入了这个动态变量之后,它使得我们只需要关心这个动态变量的变化就行了,而不需要关心它的控件的对象。比我们之前的那个要简便很多,这就是我们的这个动态变量。好,这个代码的话因为是有一些具体的参数,所以写出来的界面肯定要好看一点。考试的话也会告诉你一些常用的一些属性,困境什么的,这是肯定会告诉你的。好,我们今天这个动态变量就讲到这儿。我们接下来讲的是我们的这个ready button。这个ready button就是我们的单选按钮,我们来看看它长什么样。就比如说这样,比如说我们这一个选择题,ABCD是一个单选,那么就是这样的选中它里面就是一个黑色的小点点,未选中就是一个白色的一个小圆圈。这就是我们的什么单选按钮。我们来看一下这个单选按钮,它是怎么去创建呢?是通过radio button这样的一个控件,就是它的构造函数来创建的。第一个是我们的这个text文本,第二个就是我们要指定我们创建的动态变量。第三个就是指定一个值,就是我们指定的值。如果选中之后,它就会把这个值赋给我们这个动态变量。当然这时候你要注意,比如说我们绑定的是一个整形动态变量,那我们就必须要把整数赋给他。如果我们创建的是一个字符串动态变量,那我们这个value的值就要设置成字符串。我们也可以绑定函数。因为我们毕竟这个单选按钮它也是个按钮,但凡是按钮的话都有这个command的属性。那这样的话,我们介绍完这个之后,我们来做一下这个题目。比如说假设我们这一个选择题,ABCD4个选项,这一题答案是选B我点击提交,如果对了就显示正确,错了我就显示错误。我们来看看这么一个题目。我们创建一个,首先我们把这个主主窗口的界面拿过来改一下就行了。我得把它拿过来。LOP好,这里面改一下,改成我们的这个RADIOBOT6N8的空间窗口大小我就不改了,随便我们现在用一下这个界面。好,我们现在来创建四个单选选按钮,我们就是RDRD1,然后再是ready button,括号route逗号TST是我们的这个A。这里面我们需要创建一个我们的V这样的一个,我这里面就是in the one了习惯,你也可以用这个stream while就行。还有一个就是我们要注意的是,如果想让我们的这个ABCD制成一个控件组的话,我们就必须让他们绑定同一个动态变量。这一点大家注意,比如说这里面ABCD是一个控件组,就是你只能从这ABCD里面选一个的话,我们就得把他们四个人绑定同一个变量就行了。那我现在创建了一个动态变量,rib v好,这样的话我们创建完之后给它布局一下。这里面我们就可以使用硅的布局,当然你也可以使用其他的布局也可以。那这里面就是弱为零,列为我们的这个零。好,这样的话我们把它复制一下ctr c ctr v ctr v ctr v把这个改一下就行了。这里边的话,我们把这文字也改一下。还有它的一个0123,还有一个就是我们这里面每个都要指定一个值。这里面我们指定的,因为我创建的是in的话,所以我指定的值就得为整数。指定完之后我们给他。这样写一下,三四就是我指定的A的这个值为一,B为二,C为三,D为四。我们再创建一个按钮提交我们的答案。给咱们的按钮,给它布局一下按钮我们可以放在这个第一行,随便第一行的话,我们就是第COLUMN定理列。好,我们来看下这个最终的效果,就这样的,我们点击提交之后,在下面显示。如果你这个答案选择正确了,我们就选择回答正确或者是显示回答错误。那我们这里面提交。绑定一下我们写。的这个函数。CMMD提交。这里面的话我们只需要V点get就行了。假设我们这一题答案是选C的话,我们就是VD get。如果等等于3,那我们就可以在下面我们还差一个我们这还差一个下面的一个按钮,就在这下面我们来创建一个按钮,就不是创建一个我们的这个label标签vivo。一开始是没有文字的,给它布局一下。若为我们的这个二列,也是为我们的这个零。创建完之后,我们这儿如果说它是等于三的那我们就给大家提示一下,就是它回答正确。否则回答错误。好,我们来试一下。比如说我选择A提交回答错误,B回答错误,AC回答正确,D回答错误,回答错误是不是?那这一题我们就做完了,从这个例子的话我们来看一下,就是我们要如何去创建我们的这个单选按钮。你首先得创建一个动态变量,整形的字符串的都可以。创建完之后,我们要让他们几个人绑定同一个动态变量,这样的话他们就互相排斥,只能选一个,然后再指定它们的值。这个指定的值,我们就可以通过后续的get的方法能够拿到。比如说我拿到的是三,那我们就知道用户选的是C如果拿的是2,那我们就知道用户选的是2。好,所以这一块的话我们要注意,如果说我们要是创建的是stream wall的话,我们就在这儿给一个这个字符一就行了,就是用字符串2的也就可以了,然后这里面我再把它改回去。好,我们来接下来看一下这个2.8的一个例题。这个例题就是我们这里面有四个课程,我们点击之后会在这下面及时的显示您选择了python课程,祝您生活愉快。那我们看看这题该怎么做。首先我们。首先我们来看看这个界面,我们来按照这个界面来写,我们把这个主窗口的代码拿过来。然后。左上角的是这个ready button空间示例,改一下。好,这个窗口大小的话差不多是400 200。它这里面的这个字体颜色就是给了微软黑15加粗。那我们就按照它给了,我们就按照他给的来就行了。接下来我们就是很明显这是一个我们的这个pack布局,并且我们这四个是靠左边的,然后这个是默认居中的。我们来写一下,首先我们要创建一个动态整形变量,其实这里面的话我们可以巧妙的使用stream,因为我们待会儿的值就用我们的python java c加加C是不是就可以了。那我们来写一个就是我们的这个red button。热的八道。第一个是我们的pencil,它的绑定我们的rib是我们的这个V值我们就设置成我们的什么,就是YL的值,我们就设置pencil。给它布局一下。这里面的话我们就是side是我们的这个直接就是ankle ANCHOR uncle是我们的什么ESW,靠左边是不是就W,接下来我们把这个给它复制。分别改一下,我们的java,然后它是C加加。再是我们的C。这一块的话,我们也得改一下,它它的值也要改。好,改完之后我们就可以了。接下来还有一个下面的一个内部标签,我们给它设置一下,创建一下。LB点PICK就行了。好,我们来看看最终的效果。这里面的话一开始它是全部被选中是没有关系的,这个跟你这个创建的string y有关系你看这个是其实不是错误的,你要如果说interview就没有这种问题,如果你真的感觉感觉这样看着不舒服的话,我们也有一种方法,就是我们一开始给它设置一个值。这里面只要不是我们的pens,java c加C傻,其他的字符串都可以。我们这里面就设置一个空空的字符串0。来我们看一下,这样的话是不是就可以了。好,接下来我们要做的就是写一个函数,写个函数就是选择。这里面的话,我们让每一个这样的一个我们的单选按钮绑定这个函数就行了。因为我们如果选择一个python,它这立马就显示,那我们就是绑定上选择。好,这样的话我们就绑定好了。我们这里面的话就LB点可分析一下,我们这边直接就是TS等于我们的这个V点get就行了。这也就是我为什么说我们直接串点的是我们的这个string,让这个值是成它就是它的选项对应的名字。如果你用in的话的话,那你就用12三四分别创建一个字体去映射到我们的pencil java CC加和C这样也行,但是稍微麻烦一点。好,这里面的话,我们稍微要构造一下我们的这个字符串。您选择了画画,把我们的这个V的get放进去。祝您。祝您学习愉快。好,那我们来试一下,这里面大家不要忘了,我们要求了它的一个字体就是微软雅黑,15号我们直接复制过来。复制过来就可以了,这里面好了,接下来我们再试一下。比如说我选择pencil,比如说我java c加C就可以了。好,那么这一题我们的这个例题就讲完了。接下来讲的是我们的这个check 8的,就是我们的最后一个空间了。这个空间的话它要比我们前面的这个ready,but也要稍微麻烦一点,它是多选,所以它有多个多种可能性。这个我们来看看是怎么去创建?首先就是通过这个切克巴顿这样的一个函数构造函数创建。第一个是我们的文本,第二个是绑定动态变量,第三个是我们的绑定我们的回调函数。这里面的话你要注意,比如说我们这里面右边的这个多选按钮有四个选项,你就必须要创建四个动态变量。因为我们这多选框的话,它们是相互独立的,不互相干扰的。所以我们如果有几个我们的这个多选按钮,那我们就得创建几个动态变量,这样的话才是可以的。来我们来看他的一些方法,他有盖的方法就是能够获取我们负显化的一个状态,也可以通过赛的方法。因为我们刚才讲了,我们要如果通过able去绑定我们的动态变量,它就必然有盖的方法和赛的方法。还有一点就是我们要注意的是,我们的负循环默认如果你是in的话的话,创建的是整形的动态整形变量。那你获取到的值是一表示选中,那么整形的一表示选中,0就表示未选中。如果你创建的是string one,那就是字符一表示选中,那么这个字符零就表示未选中,这一点大家要注意。当然了我们也可以自己去设置它的返回值,但是这个用的比较少。Of view表示未选中的时候返回值,on will表示选中的时候返回的值,那我们一般都是默认的就行了。如果是整形的创建整形的变量,那我们就是选中就是一整形一,未选中就是整形0。如果我们要创建字符串类型的动态变量,我们就是选中就是字符一,未选中就是我们的字符0。好,接下来我们再做一个题目,就是跟上面这个是一样的。我们就创建ABCD,ABCD4个选项,然后的话答案是BC。我们来做这么一个题目,就是这样的一个题目,就是我们设计一个题目,它的答案是ABD。选完之后点击提交,如果是正确的就回答正确,否则就回答错误。就这么一个题目,我们来看一下。首先我们得把这个主窗口的代码拿过来。好,这里面我们改一下,改成我们的这个多选按钮应用实例。窗口大小的话,它没有明确说明,那我们就按照这个一般是来个300 200就够了。接下来我们要创建这四个,大家可以看到有四个多选按钮,那我们就得必须创建四个,这里面我就用那个创建整洁的了,这是个人的习惯,你也可以创建这个字符串变量也可以。我们就是V1,然后再是我们的这个R就是我们的CK1,然后就是我们的CHECK括号,是root逗号,TST是我们的这个A然后whatever绑定是我们的这个V1。注意同学们要不要这里面设置value?不需要了,他也没有这个参数。因为什么?因为我们前面讲了,就是选中就是整形一,未选中就是整形0,因为我这里面是in one好赢的话,那这里面的话我们就给它布局一下,这里面我就使用pack布局了。那接下来我们要做的是把它复制一份control v然后再改一下就行了。好,把这里面的文字改一下。我们来运行一下,其实下面还差了一个按钮,我们再去创建一个按钮,八成。提交,然后给它布局一下。还有下面的一个我们的这个label标签,若用于显示这个运算的结果。好,我们再说一下这个需求,就是我们的答案是比如说选择ABD这三个,选择这三个之后提交,那就回答正确,除此之外都是回答错误的,那我们来写一下在这里面。DF提交,我们来绑定一下我们写的这个函数。好,那接下来在这边我们怎么写呢?我们可以找判断。如果V一点get是等等于我们的一,表示你A选中了,并且我们的这个V二点get是等等于我们的2,等等于一,说明我们的这个B也选中了。然后再是因为这题答案是我们的这个ABD,那我们就是DV1V2,还有我们的什么V4,那就是V四点get如果是等于一,并且啊不要忘了V三点get如果是等于零才行,也就是说我们要保证的是ABD选中,但是C没被选中,没被选中的话就是零。那这样的话我们就是LB点config一下我们的这个内容,它说明就是回答正确。否则就是回答错了。好,那这样的话我们来测试一下,我选择AB点击提交回答错误,ABC错误,ABCD错误,把它去掉,来回答正确了是不是?那这一题我们就做完了,我们来再总结一下。创建多选框的话,我们需要有几个多选框,就要把就要创建几个动态变量。这个动态变量取决于我们后续获取到的值的类型。如果你创建的是整形动态变量,那么我们获取到的一就是整形一表示选中整形零就表示未选中。如果你创建的是动态字符串变量,我们选中就是字符一,未选中就是字符0。这里面就这一点稍微注意一下就行了。我们也不需要去指定一下那个单选按钮一样去指定它的值,因为它默认就是零和1。好,我们这个ready button就讲到这儿。我们今天这个课就上到这儿,再给大家再做一个最后的总结。我们的这个check button和red button的话,大家还是要多练一练,因为它主要是因为代码量相对来比较多,但是都是一些重复的代码。我们如果上机考试的话,尽量能复制就不要手写。因为我们在手写的过程中很容易出现单词的错误。比如说我们给大家今天演示的这很多错误,都是学生们经常犯的,比如说忘记绑定函数了,单词写错了,或者说我这边动态创建这个单选按钮的话,就是我们的这个动态变量没有被创建,或者说多选按钮的时候,这个动态变量少创建了等等。这些都是常见的问题。你只有去多去在电脑上去多去练才行。好,我们下节课去讲我们的参考的几个重点的题型,我们会跟大家去详细的讲一下。我们今天的课就到这儿了。