粉丝6获赞61

学习记录第一课,使用 q t 后,先打开 q t 软件,即新建工程,我们新建一个工程,这个工程命名为一个 text, 然后这个路径要特别注意的是不能有中文路径这纯英文路径,否则在运行的时候会报错。 然后我们继续下一步,然后到这就要选择我们的一个积累,我们是基于位置的这个类来进行一个开发, 这个鸡肋的名字可以自己修改。 by wage it 可以继续下一步,然后这选择一个边,一起 进到了我们这个工程界面以后,点击 ui, 然后拖动你想要的一个空间,现在拖动的一个按钮,这是可以点击的, 然后我们再拖动一个标签,标签可以在这选择,这个标签也可以任意拖动。改变大小,改变他的背景颜色, 我们可以在样式表中添加他的背景颜色,可以在这选色系自己填 rgb 值来改变他的一个颜色, 现在这个背景颜色就改了,现在我们可以点击按钮,然后显示我们想要显示的文字,然后 就可以直接将这个按钮转到槽。 dt 内部最重要的机制就是信号与槽的机制,我们可以利用右键转到槽的方法,快速的让这个按钮的点击信号连接到我们需要使用它的地方,然后 然后就可以将这个标签然后显示一个我们想要的文字。 编写完成以后对整个工程进行一个变异。 编译完成以后我们可以直接运行,可以看到初始状态下标签显示的是 text the bell, 但是我们一点击按钮以后显示了一个,大家好。


大家好,欢迎来到蒙马工作室,我是老马,今天将要和大家一起探讨的内容是表格窗口空间。 在应用程序当中,表格是最常用的空间,通常用于查看多条数据的记录结果,也是 qt 中最复杂的空间之一。 qt 为我们提供两种方式来实现表格,比较容易理解的 qtuty vgte 以及需要自定义数据模型的 qtvv。 我们先来了解一下 qtut vigt。 qtut vitt 包含两个主要的部件,分别叫做表格元素, qtutevigit 的 iphone 和表头 q i 的 vivo。 q 嗨的 vivo 是用来定义和更改表头的一系列属性,而 q tyboys 的艾特被用来设置每个单元格,也可以说每个单 单元格都包含了一个 q tuteboyg 的艾特类,这也是表格空间相对于其他空间复杂的原因。 下面我们通过实力来了解一下 qtele vj 是如何实现他的一些属性。我们打开工程,打开 uit 文件,我们找到左边的 iphone vitts 有一个 tyboyj, 我们把它拨到我们的 u i 文件当中。 我们为这张表取一个名字,历史记录, 修改内部空间文字的颜色和大小。 我们编辑一下,生成了我们的应用程序。我们前面也提到了表格空间是由表头和表格单元构成,在这里我们 不要通过 q t clout 工具去实现表格。表格的实现对于代码来说相对要简单很多,我们跳转到代码部分,我们通过代码来设置 tyboy 截图。我们为表格添加一个表头 色字三列, 他们威胁的有个函数叫赛道哈利真海尔的雷 boss 设置我们的表图内容,好,我们边运行一下,我们为表格 设置了一个表头,这个表格有三列,分别叫做序号,时间和内容。看到这个表格的时候,首先会发现一个问题,后面还有很多留白,我们 更希望序号站的像素要短一点,时间要站的长一点,内容填充满其余的表格难度表格有个函数叫 set carry yet 表格,用这个函数可以设置第零列的宽度,我们设置为一百,设置第二列他的宽度为两百。在这里碰到一个问题, 就是如果设置第三列,在不知道他的宽度情况下如何去设置,还是需要通过计算得到第三列的宽度,这对于我们程序员来说太过于复杂,太过危急的。也为我们提供了一个函数,叫做赛的筛选类,赛的目的 表示设置我们这个区间大小。他的一个模式,他为我们提供一种模式叫做拉伸,填充留下的其余空白,我们便于运行 一下,我们得到了运行结果,按照我们相应的方式进行了宽度的调整,我们把鼠标放在这个地方,发现我们可以自动的去拉伸他的宽度,一般在我们应用程序当中,这个长度不希望去拉伸。 那么系统是否提供这么一个函数来固定表头的尺寸呢?在在筛序幕的有另外一个不同参数的函数,设置表头的基本模式,找到 fax 的属性,这个函数需要在设置列宽之前设置,否则表格的列宽设置将会失效。 编辑一下,看一下运行结果,我们每一列鼠标已经不能够拉动,下面我们就来插入一些数字,我们编一个函数音色的胎部艾特, 我们在图文件中加上他。每个表格单元他都是由 qtuboys 的艾特来设置他的属性。我们有三列, 我们通过循环来加载一百行,我们当 a 等于零的时候是添加第一行第一列,我们先去获取一下当前的 typu 他总行数。我们为表格新添加一行叫做音色的 logo, 我们把我们要新添加的一行的行号写进来,边运行一下,我们生成了 改行。我们突然发现一个问题,我们的列表头他自动生成。很多应用程序当中我们不喜欢这个列表头,我们可以把列表头隐藏 写的 v 字母。我们希望在序号添加上我们的内容。从一到一百艾特零等于六 q 开个 v 加艾特要用他的函数晒他艾特艾行零裂。 同样我们为第二列添加时间, 二零二零幺二幺零幺六四零。我们为第一列设置时间, 我们为第二列设置内容。再次运行,我们把数据添加进来,下面我们就来设计一下表头的风格,通过简单的修改让表格看起来漂亮一点, 我们可以设置他的字体色的风黑体十六号字。我们希望表格行列交替有一个颜色的变化。通过危机的提供一个函数叫塞的奥特莱斯 处,我们在这边运行一下,看到我们的列表有一个基行和偶行颜色的一个交替,看起来更加的舒服。表头的文字变大了,有时候我们希望表头他的字全部都是左对齐, 我们可以这样设置。表头有一个函数叫 setit fodig mant, 把它设置为水平左对齐和垂直中间对齐。我们再来看一下,我们得到了运行结果,表头所有的文字 全部做对齐,如果我们只希望最后一项是做对齐,前面两项序号和时间他是居中对齐,我们有什么处理办法?相应的表头也有他的一个艾特叫二裂针头艾特,我们取他第零个位置设置他的对齐方式, 他叫晒得太死的二零一九们。同样我们把第一列设置为右对齐,居中对齐,右对齐,左对齐。我们这里有一个已经写好的样式表,我们复制过来。我们首先 取消边框,然后把下面的边框设置为一个像素,把右边的边框设置为一个像素,背景颜色设置为白色,文字的颜色我们也设一下 运行,这就是表托,当然我们可以改一下背景颜色。我们一定会有一个疑问,为什么先把边框取消掉呢?再设下面的边框和右边边框,我们先可以把这两行给取消掉,我们看一下结果,我们设置为 一个像素,我们看一下是怎么结果,我们看到运行的结果,我们可以看到中间的这条线特别粗旷,因为我们每个表头他也是一个单元格,他既然有左边距,相应的也有右边距, 所以我们把编句设为一的时候,表格序号他有一个,右边句是一单元格,时间他的左边的编句也是一,加起来就是二,所以中间的这条线看起来特别的粗,所以我们可以先把它 取消掉。我们设置单元格右边的线条,然后下边的线条,我们左边上边边框都相应的取消掉,左上有我们的外边框,这样我们看起来就很舒服。我们还原一下代码,这就是表头的样式表。 今天的分享就到这里,欢迎大家留言评论,如果喜欢我们的视频,请点赞转发,这里是萌满工作室,我们下期再见!


q t 交互,那我们现在有一个窗口可以绘制图形,但是呢,并没有和我们 q t 窗口联动起来,我们以前都预留了两个,这个在 q t 里面叫 action, 我们可以理解就为按钮了。那这两个按钮如何去互动呢?我们首先想,这是我们自定义的一个类,对吧?里面可以绘制 open 主要的一些东西。那它必须要有函数吧,比如说我有这样的一个 function, 而且这个 function 呢,我们最好给它设成 public 的, 有公共的。那这样我就可以通过 man window 里面的 action 的 slot 进行对它进行调用。那比如说我点一下这个的时候,我就来调用你,因为你是 public, 我就可以调用你啊,怎么调用呢?我不是有 u i 吗?可以导到 u i 吗?那我找到 u i 以后,我就可以找到。呃,我们这个对象的名称叫什么来的? open open g l wechat g e t, 对吧?找到你以后,因为你是 public 的,所以我就可以调用你这个函数了。那是不是每一个图形我都需要设置一个函数呢?也没有必要。那比如说我们这个叫 draw shape, 那多 sharp trip 里面呢?我们可以加入媒体量嘛? 通过媒体量去区别,对吧?媒体量,比如说我们叫做 rect, 那这个媒体量就代表画个矩形,如果我下次叫 circle 呢?如果媒体量给的是 circle, 那我画的就是这个圆形,那用这种方式可能是比较好的。 好,大概知道该怎么做了,那就好办了啊。下面呢,这两段话其实是以前 ppt 里面那种,所以直接我就搬过来了啊,发现以前还写错了一个字,现在改回来了,那我们如果要在别的地方去触发,我没有讲绘字,我讲的是触发绘字, 那么应该怎么做啊?那因为我们在 pand gel 里面绘制的时候,一切他都帮你弄好了,那首先他会给你 make a current, 就内置有个这个,就他会调出当前的绘制状态。我们都 open, 就大的绘制大的这个状态机,你必须有个当前的状态,那么我这个 make current, 这个 current 的就当前状态的意思啊,在这之之内进行编, 进行绘制,绘制完了以后呢,其实他还有一个程序叫 downcurrent, 那待会我们自己写程序的时候,如果你并不是在像这些程序里面 去调用的时候,那么我们就要自己加上他,但把代码,把这些 open 区域的这些相关的代码,对吧?都都写在这个中间,然后你在外部的时候要生效你的这些触发你相应 这个状态的改变,那么你还要进行一个 update。 那所以呢,我们一般来说可以写个 make current, 然后呢写个 down current, 中间写相应的 open 句额的代码,那 update 写在哪里呢?你可以写在 down current 下面,也可以写在它上面啊,好像 感觉不到什么差别啊,总之他写在最后都可以啊,无所谓,因为他只是触发嘛。啊,要求我这个状态要更新,也就是说有相当一个 repent 这样的一个一个请求而已。 那还有一点,那我我这里写的叫什么叫做触发重新绘制?我为什么不直接在这里面进行绘制呢?啊?因为按照它的顺序来说,最终它还是会调用 pen geo, 而 pen geo 里面它会通过底色,我们以前 不受受过一个底色吗?他会清空你前面的绘字啊,如果我自己写一个,比如说写一个 joe 这样的函数,呃, joe, 比如 joe rack 啊,画一个这样的矩形,上面这个矩形,那你绘出来了,你有可能会被他给清空掉,对吧?所以我们不这样做。 好,那剩下一部分内容呢?就是我们上节课发现我们并没有做回收,因为上节课呢,我们是用了多个,然后呢?这是一个数组,对吧?我们一下是,那我们就可以通过这个代码 delete 这种代码,我们就可以回收我们的内存,包括我们这个 share 的 program, 也需要进行 这个对象的一个回收。好,知道这些以后,我们就可以开始来写程序了啊,我们看我们基于哪个程序来写 open, 这是我们上一节课写的例子,但我们不管他,那我们还是继续这个 ebo 程序来写。好了,那我们就需要进入下一张 shift up chap 零二,在这里面,那我们就是第二章的第一个例子,那我们这个例子叫什么呢? 嗯,我们的课程看看,看一下。那么叫 u i 好了啊,我们这个就叫 q t u i q t u i。 好,那我们这是第二章的第一个例子,我们叫 q t u i。 好,我们编译一下,先配置他的环境,然后我要给他一个编译 跑起来变异,没有问题啊,那我们跑起来看一下,这是我们以前的效果,做完 e b 呃,一 evo 以后的效果,那我们这两个按键呢?没有任何作用。那首先我们上节课的时候发现好像还有一些问题,我们代码对吧?没有虚构函数,没有虚构函数呢?我们这个问题好解决,我们只需要在这里面 给他做一个就可以了呗。啊? a f b。 好, 那我们这样就有了一个 sql 函数。在 sql 函数里面,那这个代 码是很很容易好理解的啊。就区域啊,迪丽特,你先把它敲出来。 buffer, 什么是 buffer? 我们的 vbo, 我们现在只有一个 buffer, 就是一个 vbo buffer, 对吧?那一个我们相当于是要回收一个,而这里面要的是你看他这要的是一个指针啊,所以我们给个地址, 这样就好了。还有 g l delete, delete airy 啊,怎么没有出来啊? delete, 我们直接在上面找,应该是能找到的。 vertic dairy 啊。啊? v a o 也是一个 v a o。 那还有我们的 program delete, 首先你把 delete 拿出来就好办了。 delete program, 那我们只有一个 shared program, say the program, say the program, say the program。 你看他报错了,但是他没有图,慢点, too many arguments 太多了啊,他不是要地址啊,他就是直接把他数字放过来就可以,只要你用了焗油。一个好的习惯呢,应该是要 make current, 但是我们这个好像我觉得可以不用啊,但是我看大家都用 一个 downcurrent 把它夹在中间啊,因为我们调出当前的状态,然后呢啊,退出当前状态, 因为这里面仅仅是为了回收,而且到了城市的最后有没有必要那我不知道,但是我看大家都加了,应该是有道理的,那么我们也加好了, 好不纠结。这里也没有深入研究,我们抛下看一下,应该是对我们程序没有任何影响, 那后面我们都可以把它封装成对象啊,直接通过对象本身的结构也可以。好, 那现在我们前面也讲了,我们肯定是要有,我们要有一个函数,而且是 public 的,别人才能调用你,那我们就这里就写一个,比如说就叫做 draw ship 啊,那是如果我们每一种 ship 都有一个就很麻烦,所以我们最好有个类型 啊,没要个媒体量就叫 ship。 那我们先是来一个 num, 用个首字母大写,然后呢 rect, 然后呢 c 口啊,写几个意思一下就好了。还有一个 triangle 啊,三角形拼错了也没关系啊,示意一下。好,有了这样的一个类型,我们用这个类型来决定画什么,那我们就叫做 ship。 我们这里面呢,还需要有一个 public 的成员哦, private 的成员,嗯,因为我们需要有一个量来保存,我们刀器要要画什么有一个变量,那这个就是 m ship 啊,为什么需要它?我们可以。呃,在这里面啊,在看我们 ppt 这句话,我们这里面只是只是触发重新绘制,并不是在 我们需要写的函数里绘制啊,我们把单码写出来就知道了,那么我们是在这里面是被触发的啊,我们先把这个,这是因为上节课的一些原因, 我们进行了一个特殊的排版,那现在我们给它排回来就好了。那这里面啊,我们用的是没有用 e b o, 其实啊,没有用 v e o 还是 e b o 啊? e b o, 没有用 e b o, 我们是直接他拿了这个拿了点, 那不管他啊,我们都保留这个,还是用一下好了。那这里面就不要,这个就不要了,对吧?不要清空它,那这里面呢,应该是用个 no 或者用个零,对吧?我们再直接再跑一下看看。 好,那么我们现在就调回了一个普通的状态。好,那么我们现在就要增加添加代码了哦,我们给他加个条件,对吧? switch case, 那绘制我们都放在这里面绘制,别的地方呢?只是进对你进行一个触发 啊,那么如果我们的 m ship, 它是等于我们的 rector 的时候啊,那么我们才进行这个绘制。 嗯,这样看代码好像是没有什么问题,对吧?但是呢,我们的接口呢? dy 的接口呢?没有写啊,那在这里 我们 diy 的接口,哎,写错了,这是生成到哪了?怎么生成到这里了啊?我们重新来把它拷过去应该也可以啊。那在这里 我们只要做一件事情, m ship 等于 ship。 好,那我们再看我们这个 ppt 里面,我们在外面吧,它不在 pad 就有里面,它在外面要触发重新绘制,所以呢,要再加一个 update, 我们这里面并没有调用任何 open 需要的代码,所以 makecurrent 和 downcurrent 呢,我们应该是不需要的啊。 update 或者呢,你也可以试一下 repent, 应该也是可以的。嗯,是不是拼错了? up update 应该没错。好,现在我们接口已经有了,这个接口有了,我们还得调用它。调用?怎么调用呢?那 q t 里面调用特别简单啊,我们 jorac 在这里面 go to slot。 呃,这个, 那我们就是 u i 点 open 这个位置的点 draw shape 啊,然后我们这里面,呃,就需要用到我们的 lay, 然后呢才能找到我们的 这个量,哎, rect 好才能有这个媒体量。嗯,应该可以了,我们试一下。那 现在是没有用,对吧?因为我们刚刚编映好,那我们再试一下。嗯,我们通过我们的 action 调用了它开放出来这个接口,这个接口呢是 public 的,那我们通过这个媒体量决定会什么图案。好,已经有了啊,这个清空呢, 我们用酶取量的方式,并且我们给了个 nun, 就是为了这样会比较方便。那这样呢?点 draw shape, 那我们以 i c by 多分区这个写个 nun 是吧?好,那我们再试一下。 那这里面我们还需要再增加一个新的按钮。好,清空会,清空,清空会。好, 那这两个按钮就已经有了,那我们再增加一个这个按钮呢?我们就可以叫做,呃,线框模式,线框模式,线框渲染吧。渲染这个叫 act a wire frame 啊,你要看一些国外的这种类似的图形的产品呢,它一般都有这个模式,叫 wire frame。 wire frame 就是线框啊,就 wire 嘛,就线啊, frame 框。好, 那我们也把它拖上去,然后这里面呢,我们给它来一个 checkable, 就是它会,它会摁下去,并且你既然能摁下去,我希望你摁下去的时候这个效果会不一样。啊,那我们看啊,现在如果我们什么都不做呢,看到这个效果就不好看, 好看啊,这个看没什么效果,对吧?按下去弹起来,那这里面我准备了一个样式,只是改变一个底色而已啊,这个应该是比较简单的。 那关于样式呢?在 q t u 跟,不是在 open g r。 呃,不是 open g r 啦,在 q t 五点九 c 加加开发指南里面那个视频里面有详细的介绍,或者你看看那本书也是一样的。 好,我们把第小段给他贴过去,就是当他被 check 的时候,对吧?在 check 状态下,这是子状态, check 子状态这种空间,只要被 check 的时候的底色就变成这样,应该写的很清楚了。 那么我们直接在最上层拉下来啊,这里面 style 里面给它加上这样的一个 style 就好了。 ok, 那你这样再跑起来呢,就会效果就会好很多了 啊。那关键的并不是这个,对吧?关键的是还是我们要写代码啊,这个你看这个效果就跟刚才比起来就好看多了,对吧?但是没有效,没有用。现在啊, 就跟上面一样,我们还是需要有一个你开放给我个接口才可以,但我们这个接口还并不存在。那么我们这里也是一样,我们就需要有一个 word, 嗯,这个呢,叫做 set wire frame render 吧,或者或者就这个就看它的 web frame 就好了。那有一个不果词,呃,叫做这个叫什么?叫什么呢?叫 y 吗?叫 mod 吧。 有一个 boss 就可以叫 mode, 好像还不大好,或者就叫 well free, 就这样好,那么我们总之是要开放这个接口, 那我们就根据判断了,如果这个 while freeing 是等于 true 的啊,嗯,那么我们就应该是 g l polygon polygo mode, 那有这样的一个函数,那既然要用这个函数呢,我们上面肯定也要是 make current 啊,那 polygon 这个什么呢?是 g l front front and back g l light。 嗯,好,接下来这个我们前面其实是讲过的, 这样呢,我们就可以绘出我们这种 wireframe 的这个线框的模式 else 呢?我们具有 polygon mode, 具有 front and back, 这个呢?是具有 for 吧,它的 film。 这个啊,就用填充是吧?呃,这个呢? down current 啊,改变了状态, 嗯,应该说我们这个就有了,对吧?然后我们这边在 men window 调用,这边呢,就可以调用你了,也是一样。 g i open witchet 点啊,不做了,这个就是 wire。 why a free? 没有吗? set while free 啊?对, set while free。 那我要给你个不稳值,这个不稳值就看我有没有 check 就好了呗。 the act 点 is check is checked, 对吧?那我们试一下,如果这个反了,我们再加个加个感叹号取个否啊?应该是没有反吧,试一下 好,画个矩形改变。咦,没有效果啊,没有 update 对吧?我们看一下啊。对,我们没有 update 它, 你改变了人家的状态,你没有 update, 它就没有生效啊,它没有重绘。那我们再试一下, 画一个矩形,线框模式取消啊,清空好,直接是线框模式。嗯,这部分呢,我们就相当于是互动就做完了。 那以后呢,有其他类似的互动需求也可以用这样的方法去做。总之我要在窗口里面啊,在我们的这个组件里面开放这个接口, 然后我们通过我们 ui 这种互动去调用你这个接口就好了。

好,那么同学们啊,今天这一节课我们就给大家呢,呃,要完成的目标就是制作一个啊, qt 来制作一个我们的最终的目的啊,做一个图片轮播啊,呃,这个图片轮播的思想啊,如果说大家在之前的课程当中有听过我的其他的课程的话,应该来说,哎,有,有这样的一个 思想,应该是有了,对吧?那么在 q t 当中关键是怎么去实现?首先,哎,目标是要做一个图片轮播, 那么在 q t 当中怎么去实现啊?其实就是在 c 语言当中怎么去实现啊?挺好,那么在这里面的话,我们关键是要今天要学会一个资源 的加载啊,对吧?资源的加载,加载啊,在 q t 当中 qt 当中,对吧?也就是说在我们的啊 c 加加语言当中啊,如何去来写这样的一个程序啊? 那么资源的加载以及利用啊,资源的加载以及利用,那么我们在这里面资源的加载和利用,我们一般来说这这个地方我们还是要进一步深入一个空间,叫做雷博空间,而我们在雷博空间在 q t 里面 有个不一样的名称,叫什么呢? q 那个,哈哈哈哈啊,因为大家呢,没有写过用代码去扭出来这个空间,对不对?所以你现在可能没有这个概念,但是你要现 在要建立这个概念,假如说你没有把这个空间拖到这个界面上,那么此时你就要把这个 q label 引用进来, ok, 加去,你有一下这个 labor, 是不是这个就就就到界面上来了啊?待会我们就用这种方式, 纯代码的方式来完成今天的这样的一个课题啊,好,那么一个是纯代码啊,另外一个呢?就是,呃,要载入图片,对不对?载入图片,那么我们要需要的 一个是利用把这个财路图片载入到哪里呢?就载入到这个 q label 空间上 啊,空间上啊,在录图片,图片,我们知道之前的话其实是文字,是不是很基础的一个文字?现在呢?我告诉你, 他还可以载入图片,再颠覆你三观的就是还可以载入魔鬼,什么 魔鬼?是什么影片?嗯?视频对吧?啊?他可以再录很多,那么我们今天的话呢,就让他来再录这个图片啊,再录图片,那么既然是轮播啊,轮播,我们在这里面思想肯定还要用到一个什么空间呢?叫做, 哎,时钟空间,对吧?时钟空间,我们叫做什么? q timer timer, ok, 有个 are 对不对?那么在这里面我们要注意 q time 和 q time 是有区别的, q time 是什么? 呃?获取时间,我们可以用来获取时间,可以用来设置时间,对吧?那么同学们在学 会我们前面这堂这个 q t 课的时候,大家应该要逐渐去自我去总结出一个规律啊,要学会举一反三,怎么样去总结出一个规律? 你们在看到我在写这个代码的时候,我今天还会再一次来进行演示出这样的一个过程啊,你看看你自己平时的时候有没有写总自我总结出这个规律是什么呢?我先写我要实现的这个功能 啊,比如说我要设置文字,那么设置文字中间我需要这个文本,对吧?那么文本来自于哪里?对不对?我再去找他的源,或者说你熟练了以后,可以直接先写这个源头啊,这个来自于哪里,对不对?这个文本字幕上来自哪里?那么 同样的道理,我们今天的这个图片轮播,我们就要把这个图片载入到这个空间上面, q 雷宝上面,对不对? 那么这个 level 上面的空间载入的时候,我们需要用到的他的一个设置,他的一个图片的一个属性叫做 pix map, a pix map, a pix map, 而这个 pix map 就是用来控制它的图片的各种设置的啊,那么 pix map 啊,我们在 q t 里面呈现出来叫什么呢?叫做 q pix map 啊, q pixma 啊,那么它就是用来什么呢?承载图片的一个容器, 存在图片啊,配置图片的容器,那么我们最终再把这个 qpacs map 的 啊,这个图片我们载进去以后,我们再把这个容器把它载入到 label 上面,那么最终就 可以显示了。那么这个逻辑就应该是这样子的,第一步啊,过程,第一步应该是要先创建一个什么呢? q pix map 啊,首先要要有,对不对? q pix map 对象 啊?第二步就是,呃,在这个 q label 中载入这个 q pixmap 对象 对象, ok, 这样就可以显示了,很简单啊,就很简单。那么再接下去,最后就是通过时钟控件啊,来通过时钟 空间来什么呢?修改图片的路径对不对?使用空 修改图片路径啊,就这样的一个过程就可以了啊,那么这样子来实现一个图片的一个 切换,切换好,那么呃,这一个案例的话呢,我也是有段时间没做了,但是呢,我们刚好可以按照我这个思路来下来啊,这个案例我记得我以我是在之前的这个拍摄 课程上面给大家是有讲过的,因为我的拍摄呢,我们在一个高级应用课程里面用到的就是 pyqt 五啊,思想是一样的啊,那么我们现在就马上来开始进行实战啊, 首先来新建一个项目,新建的这个项目我们来把它放到这个 s 的这个文件当中,首先我们就流进于编程,二零二零年,哎哎,录了啊,二零二零 年什么呢?八月三号啊,二零二零年,八月好了啊,八月,那么我们后面可以把它放进去啊, 那么我们把这个呃文件的话呢,就项目创建到这里面啊,文件夹现在是空,文件夹有了,对吧?那我们来创建一个 q v d 词,这是项目的一个基础啊,大家我相信应该都没有问题了。好,那么我们接下去来选择我们的这一个 文件夹,这是八月份啊,后面我可以都给他创建到里面去,那么这个我们就是啊,今天的日期吧,泰式的今天的日期吧, 八月三号 tst 零八零三,这样我们就以后后面所有的项目都保存到这个文件夹,我这个文件夹就不删了,对吧?后面的路径我就不用选择了,不然每次都要选择这个路径比较麻烦啊,那么我们就下一步啊,再下一步 啊,到这一步我们还是用纯 qv 的啊,只要学会他后面的这个 mv 的什么都是一样的啊,用法都是一样的啊, q 代劳的这些用法都是一样的 啊,那么我们还是一样啊,他叫做 test 好了。呃,这个是图片轮播吧,图片轮播我们就哎就一样,反正就是一个窗体的名称而已,对吧?那么我们今天的话呢,把这个勾给去掉, 去掉去掉又意味着什么呢?我们有没有脱窗体的界面?没有了吧?哎,那么我们就来,哎,通过这种探索性的实验啊,我们来把它完成掉,完成 好,现在我们看一下啊,载入窗体之后是怎么样子的?你有没有这样子尝试过把这个勾给去掉,哎,发现少了什么? 没了吧,只出现了一个嗨的文件,一个是啊,原文件,对吧?还有一个是工程配置文件,就没有我们另外一项,那么我们这个时候能浏览吗? 看一下对吧?我构建一下能浏览吗?这是关键出来有没有有的发现还是有的,为什么他是有的? 这是一个窗,哎,是一个窗体,无位置,但是还没有回答到。呃, 更为需要的这一要点上面什么呢?既是一个规矩的同时我们要明白他为什么会出现错题。最顶层的这个规矩的是什么? 创提是不是啊?之前的笔记当中是不是见过?哎,最顶层的这个规矩他就代表一个创提 啊,里面的位置就是一个空键,对吧?哎,这是一个关键啊。那么现在我们就在这个窗体 test 的这 tes 是不是一个窗体啊?哎,我们就在这个 test 这个窗体里面,我们来创建我们的空间,首先我们来创建一个雷宝, 创建一个雷宝,那么想要创建一个雷宝的话呢?我们首先就要怎么样呢?是不是要把这个引路进来?那么我们在我们这这个特色的头文键当中,我们把这个雷宝给引路进来, include 啊, q 雷宝吧, 对不对? l a b 其他的空间全部是这个道理,现在我给你演示的是一个 q, 来吧, q taxi box q, 破虚吧,疼,是不是都是这些啊?一样的啊,你要学会一个之后你要知道举一反三,后面的代码我没有空,没有这 情况下的,没有,没有不能拖的时候,该怎么写对不对?而且有一些空间我们是要自定义的,你要自定义的话,那你不是要制作自己的空间吗?对不对?那你把自己的内裤引入紧了你的内裤里面,你的内里面包含了很多其他的空间组成的,比如说你制作一个登录 空间,或者这这个就是登录类吗?对不对?这个登录类里面我一旦引入进来之后,这个类我就是一个,比如说是有有用户,没有有密码,那么我从此以后我运用的时候,我只要把这个类载入进来就可以了, 是不?就这样啊,我都不需要去编辑,就不需要拖,我只要引路啊,引科路的这个东西进来,我一扭一下这个类我的窗体就出来了,我就设计好了,做一遍就可以了啊,这是未来的一个开发啊,未来的开发,那么我们 q 来吧,先把它引入进 啊,首先是要把这个内裤拿进来,拿进来之后的话呢,我们接下去开始的是把这个,呃,要要怎么样呢?要怎么样?要要声明一下吧, 对不对?是不是要声明一下啊?那么我们使用它首先要声明有两种方式,我们要给他使用的话,第一种方式我们来回顾一下,第一种方式,我们如果说直接想要声明啊,并且已经实力化可以用了,那么我们在哪里写呢? 是不是直接在我的这个地方写写写一个声明就可以了?比如说我们 private 啊,因为只能这个内用,我们让他啊,所以我们在这个时候,我们是不是在这里面直接声明一个 q a 宝就可以了, 对不对?这是不是一个全局变量?因为我们后面是要用的,比如说我们让他变成雷宝,图片也卖举,可不可以啊?啊?那雷宝也卖举好了,我们就这样好了, ok, 那么我这样声明了已经,那发现他这东西 啊,雷宝没有变颜色,意味着就啊是错掉了,对吧?这个时候你就要注意一下,当然有时候的话他可能没有反应过来,没有反应过来也是一种可能性,你后面再重启之后,这个软件重开之后发现再再没有反应过来,那就可能要再看一下代码, 对吧?有时候可能要编一下啊, ctrl 加 b 编一下啊,这是一种情况啊,一个声明。那么我们先来看看采用这种情况的应用啊应用,那么这种呢?其实比较简单,这是一个空间,我已经有了吗?对吧?那么接下去我就是往这里面去载入,那既然要载入图片,那么 哎,而且关键是你在这个地方你全局变量是有了,但是你好像看不到他在哪里,对吧?就是说你这个空间是不是要放到当前的这个 pass 上面,这样仅仅只是作为一个变量, 对吧?啊?待会如果说没有放到这个空间上面的话,设置到这个空间上面的话,哎,也就是没有设置到这个 test 这个窗体上面的话,他可能就没有了,就会啊,那么可能会出现这种情况,所以我们现在暂时要考虑的到, 对吧?是不要考虑到,如果说你用指针的写法这个地方,我声明一个指针,那后面我在构造方法里面,在这个地方就是一个构造方法,对吧?构造方法里面指针的名称等于六好 q level 括号 ces, 这就是不是把它直接加入到的这个床梯上面了啊?这就指向了,对不对?现在我们其实是 没有指向的,那么我们先用这种写法啊,先用这种写法,两种方式必须都要会啊。那么这是一个 我们现在接下去想要在这个窗体,那么我现在不是,现在不是有这个 q 内部了吗?对不对啊?那么我们现在是不是要给他设置设置这个?呃,图片是不是用这个 set q pixmap 设置他一般我们就设置什么就 set 啊,去获取什么就 get, 这个要养成一个习惯啊,包括设置文本是不一样这样的,哎,那么我们设置 qpics method 之后,我们发现这中间要用什么? 他的参数是 q pix map, 是不是一个 q pix map 啊?所以在这里面你要最终传入的结果一定要是一个 q mix q pix map 的一个类型,是不是啊?既然要传入这样的一个类型的话,有两种接法啊,又是有两种, 对吧?一种是你在你把这个 q pix 那个变量写到外面,然后变量的形式传进去,对吧?指针变量的形式传进去。那么另外一种就是直接再怎么样 在这个地方直接溜出来就可以了,对吧?但是有一种这里直接溜出来的话呢,有一个弊端,这个弊端就是你可能对图片的设置功能上面就没有了 啊,就没有了。那你如果说想要具体的设置就要单独的去写,那么我们先采用最为简单的一种方式啊,最为简单的一种方式就直接给他载入进来啊, q, pixman, 我们发现这个内裤有没有引入进来 是不?没有啊,先要把这个内裤给引进来啊,先要使用 pix map 的话啊, include include q, pix map 录进来内裤啊,这第一步啊,第二步 q k x max 啊,我们这样如果说直接载入括号这种形式,就相当于是 new 了一个, 你有了一个这个对象,你有了一个这个对象,怎么意思?什么意思啊?这个 q, 呃, qpix 是一个类,然后呢?我就相当于是以这个类作为模板,我创建了一个对象, 对不对?创建了一个对象,那么在这里面我就可以相当于是对象上面我们是可以设置他的一个图片路径啊,什么什么的,对不对?我们看到他有一些参数,当我们宰完之后,你这个地方是不是有个上下 哎,我们怎么样让他出来呢? ctrl 加上 al 加上斜杠啊,代码,我们再来看一下啊啊,这个地方我们记一下 out 加上斜杠快捷键, 快捷键啊, alt 加上斜杠啊,这个,这个快捷键用来干什么呢?可以代码提示啊,代码提示, 当然这个代码提示是我自己设计的这个东西啊,因为我为什么要设计呢?设置这一个是因为可以跟我们的这个下次给大家讲这个安卓开发的时候用 eclipse 这个工具,或者是用安卓 siri 这个工具的时候,我们跟他的这个代码快捷键啊,一致 啊,一致。那么默认情况下他这个地方就是呃 q t 里面的 q t 里面的这个工具,默认情况下他是什么呢?他的快捷键代码提示叫做康求加空格,但是我们知道康求加空格这个快捷键其实是跟我们的这个什么东西冲突的,是不跟他, 他是冲突的,他不是中英文切换就开出快,是不是啊?冲突的,冲突的,我们在这里面就不能用了,所以我要把它改掉,那么刚好也给他可以改成我们的跟我们的 eclips 后面这个这款工具我们可给大家再讲。 app 开发的时候就跟他是 一致啊,就一致,所以大家就养成这个习惯。那么改到哪里去改呢?让我想想看哈,这倒是好久没有没有改,我们选项里面看一下啊,这里面有一个, 呃呃,边我看一下,让我想想看啊改应该是有个地方快捷键,我们搜搜看, 有吗?哈哈。没有没有,呃,我想想看一下环境,哎,环境里面 键盘啊,有一个啊,这里有呢,这里有了,我们搜一个叫做 com compose come pose 啊,看到没有?这个这个看到没有啊?搜出这个来, text editor, 这下面有这个东西,然后呢我们就可以在这个地方就可以改成我们的这个快捷键了啊,改的时候我们直接按进去就行了啊,快捷键就是怎么样他就会在这里自动就生成了 啊,那么默认情况下他是 ctrl 加空格的啊,到到时候大家使用快捷键的时候,你要学会在这个位置 代码提示快捷键是不是很重要啊?对你来说是非常重要的啊?啊,那所以这个时候就可以通过这个情况来设置啊,那么我们现在来看到先看代码提示这个地方, q pixnel, q pixnel, 我们可以上下是不是可以按啊?上下啊,听好啊,那么上下 在按的时候,上下在按的时候你会发现什么?他是不是有多种不同的形式?第一种形式就是指什么都没有传进去, 什么都没有传进就是相当于是溜了一下这个泪,对吧?但是这个泪里面什么都没有啊,溜了一下这个泪就变成了一个对象,这个对象里面什么都没有,意味着图片是不是也没有 啊?那么我们再看第二种形式,这个有八分之一,现在看到八分之没有。八分之一是指他有八种构造方法。 八个构造方法啊,八个构造方法在六的时候我们构造方法是可以重改的, 什么叫八个?是不是因为他是不是重复了,对不对?构造方法是可以重载的,重载构造方法,这叫啊,在 c 加加里面是可以进行重 重载,重载之后呢,我们他会有八种不同的形式,那么区分在哪里?第一个没有参数, 第二个有一个参数,并且是这种类型的,对吧?第三个是这个参数的类型,对吧?啊?参数的类型不一样啊,那这个就是一个一个宽度和高度嘛? w 和 h, y 是和 hat, 是不是啊?哎,这是,刚刚是这个也是一个,这又是一个大小 q size 啊,又是一个 q size 的,一个内裤啊,穿进去一个大小,那好,我们发现一个非常好用的,这个叫做什么?是俊类型的,是不是?是不是可以用双引号直接写了,然后呢? 啊,那么我们就可以写一下图片的路径,是不是啊?哎,那么我们此时就可以直接写了,但是我们发现图片路径,我们是不是图片是不是还没有,对不对?我们把图片得搞进来,知识要点讲完 图片好像没地方宰吗?对不对?那么在 q t 里面的话,我们想要载入图片就要设置一个叫做什么呢?新建一个资源类啊,新建一个资源类,然后呢?把我们的图片放到资源类里面就可以了啊,那么我们现在来新建一个资源类啊,右键,右键。 哎,新建艾特牛啊,艾特牛,对吧?艾特牛。好,我们要添加一个,叫做什么呢?叫做选择 qt, 选择 q t resource fire 啊, q t resource fire 就是资源文件,对吧?这些资源文件其实还包括不仅包括图片,呃,视频等等,对吧?这都是都是你的资源文件啊,因为通过这种形式引用进来之后,我们就可以传相对路径了啊, 就就他是一个拆没有的最终的一个形式。好,接下去我们来把这个点击下一步啊,点击下一步之后进入,进入到这里,那么我们要把这个资源文件默认,我们先给他取个名字啊,假设我现在取个刘金玉,然后这外啊,这是我的这个资源,对吧?啊?比如说后面的话,如果图片我们还有一面,就可能还有继续的细分, 对不对?如果是视频,那么我们就细分成视频,对吧?等等啊,那么我们默认这个路径,项目路径已经 ok 了啊, 啊?已经 ok 了,那么我们直接点击确定就可以了,确定之后我们会分生成什么呢?左侧,左侧马上会生成一个 resource, 对不对?哎?然后双击这个之后,我们会发现这个地方我们多出来一个这个东西,是不是什么都没有啊?什么都没有,我们首先要做的是什么呢?添加一个前缀 啊,添加一个前缀,这个前缀是什么呢?这个前缀就是我们待会要引路进来的时候,我们先要写他,就相当于给你区分的一样, 相当于是给你区分区分这是你的,这是我的,或者说是类别什么的区分。就像我们可能有我们写一个空间的时候,我们空间的命名前面一般,我现在教大家都是不是要有个前缀 啊?内部空间、标签空间,我们给他简写的时候先写成什么 lbl, 是不是啊?这个就是前缀啊,我们通过前缀可以快速的去区分我们的这些资源,可以快速的去查找到, 对吧?啊?那么这是前缀的一个作用啊,那么我们假设就让他我们所有的前缀都是用 lj 外号,好不好啊?就用 了解完,那么这个是资源的名称,这是资源的名称,这个是我们使用的时候呢,这个前缀的名称我们待会用的时候大家就知道啊。 ok 了之后我们接下去要干什么呢?就往里面添加图片文件就行,对不对啊?那么我们图片文件现在发现是不是还没有啊?我们来拿一些啊,从之前的这个教程当中取一些,比如说我们取取一些页面举 啊,有飞机有这些,对吧?啊,那么我们比如说就这几架飞机好了,好吧,就这几架飞机作为我们的图片啊, ok 啊,我们复制了一下,那么在我们的这个项目下面呢,这个是我们项目文件夹,这是我们的元代码项目,对不对?在元代码下面我们把图片给放进去啊,一般这个图片肯定要考来考去的嘛,对吧?所以你要放到你的原 代码项目路径下啊,新建一个文件夹交易面具,这个是不是习惯了?网页是不是也这么做啊?哎,然后把它复制进来我们刚刚的图片就可以了啊, dg 零一, d 一,零二, dg 零三, dg 零四啊,这是我们的这个图片, 首先要把真实的文件资源考进来哦,接下去就是把这个文件的添加进来,对吧?把我们路径下面的这个文件给他要添加进来,哎, 把他所有的图片选中添加,点击打开就可以了,好,这样是不是就进来了?而且他的路径是不是在你的前缀之后的文件奖,呃,图片这个文件奖下面的 这些具体的图片,对吧?那么与此同时,如果说你想视频的话,是不是又一个文件夹,或者是我普通的文件是不是就又一个文件夹, 对吧?这是一个个自己的区分啊,那么,呃,我们在这个位置别名啊,我们暂时就不用了啊,我们就发现图片是不是就已经有了,那么如果说想要载入图片的话呢,我们在这里面直接就可以写了啊,那么怎么写呢? 就按照这个路径来写,注意写图片的时候我们想要载入这个志愿文件的图片,首先要载入他的啊,用他的相对路径的话呢要用一个冒号这个符号作为开头作为开头,然后对 啊就分这里只能用这个相对路径,好吧冒号来开头。对啊,这也是一个因为我们要考来考去的。那么相对路径和绝对路径有什么区别? 现在我的这个项目工程写在我的桌面上。你是在你的桌面上啊,你想要 比如说你要给你的客户用啊,可你要发给他吧,发给他之后他可能存到你的地盘或者 e 盘或者他的其他的文件夹,那是不是跟你不一样啊?那你他打开的时候就打不开了,为什么?因为他打开的时候你如果是绝对路径 对跟你的路径就不一样了,你是在桌面上对吧?那相对路径的话就是是相对于这个文件夹的,而不是指其他的。 这个文件夹是指哪个文件夹呢?是相对于你这个项目文件夹的,是指在你的项目文件夹下面。我不管你的项目放到哪里反正我这个路径是相对于这个项目文件夹下的, 对吧?哎这个就相对路径的一个好处了啊,那么我们在这里面直接引路。那么首先这个前缀对不对?然后是一迈举是不是啊?然后就是 b 机啊,我们来查看一下啊。他也没有提示,我看看有没有按 l 的键。 提示不了啊,提示不了,那么你就直接在这个位置卡住了,那么你就在这个位置呢,就直接使用就可以了。右键。 呃卡成这样吗?啊?在这里因为已经打开过了,都没有切换过来啊,那么就是叫做爱的美下滑线零一,对吧?爱的美下滑线零一啊,我们保存 好,我们在这里面叫做 a 呢,没下划线零一点。什么 png 是不是?这是全称?那你把全称要写好,我们 ctrl 加 b 一下啊,把它编辑好, 那么这里面的话他倒是显示出来了,对吧?虽然说我们用的是相对流行,但是你看这个地方你他显示的是什么?这个就是 区别啊,看到没有?我们把他图片显示出来的时候,哎,有,他是不是绝对路径了?对,具体的时候他这里显示的时候会绝对路径,因为每个程序在 使用的时候其实是属于绝对路径,对吧?因为你写的时候是按照相对路径来写的,所以他会去获取你的这个路径项链到底是什么,对吧?那么他的绝对路径是怎么来的呢?是根据你的项目来的, 你的项目在哪个路径下,那么他的绝对路径就在哪里,对不对?后面的就是跟着你的项目来的,对吧?就像我们这个图片一样啊,明白了啊,那么与此同时我们就可以把这个图片,哎,应该来说飞机应该能能够显示出来的了,是不是只有一条渔具啊? 这个应该是这样了,对不对啊?我们看看有没有啊?首先 没有 对不对?那首先第一个怀疑是什么啊?这个空间可能没进来,对不对?我们之前是不是讲过这个空间要进来啊?那我们把这个空间给加进来。雷宝一迈去点设置到哪里呢?设置到他的设置他的漂亮,他为什么当前的床体对死, 是不是这样?哎,这就是把空间写成全剧变量,没有用指针变量的时候呢,你就要单独的去加入,是不是就来了飞机就载入进来了啊,那么我们控制他的位置呢? 哎,我们现在太太这个位置了,我们要控制他的位置,哎,对,类似于这样子,类似于这样,对吧?那么我们直接还是,哎,来吧,我们要去点 stat 什么呢?不是 xy 了啊。呃,或者是他的好像有个 resides 吧啊? reside 瑞塞子里面包含了宽和高,一个是大小,另外一个我看看有没有包含他的。 没有啊,这个看来只有他的大小啊。这个我们是可以设置他的大小,那么我们先来试一下他的大小吧。既然用了他那么首先我们比如说设置他为三百像素啊,高为三百,三百像素吧,都为三百吧, 我们来看一下啊,他到底是一个怎么样的一个情况,哎,我们还没加分号,这里面我们要高级语言当中我们每句话后面都要加分号啊, 好。哎,这个是什么样的一个情况?就是他设置的是什么?哎。设置的是你的 空间的,这是不是设置的是你的空间的这个大小啊,对不对?图片还是 在这里,你我们设置的是不是页面卷啊, label 啊,对吧?有没有设置这这个图片啊?没有, label 变了,图片没变,是不是?而图片的控制我们具体是用什么来控制的? q pix map, 是不是因此我们把这个东西是把它拿出去啊,单独来写啊,哎,我们把它单独来设置啊,单独来设置,这样就可以做的更多了啊,那么单独设置的话,我们怎么来设置啊?我们先把这个东西我让他报错,还暂时先这样,我们来单独设置一个 q pix map 啊, q 啊,皮克斯曼,对吧?我们设置一个变量啊,这个地方我们用一个指针类型啊,指针类型,或者我们用啊皮克斯曼啊,看看啊 啊,这样也可以啊,我们指针类型好像没用了,我们就用一个指针类型看一下啊,指针类型该怎么去用? q pix map, ok? q pix map 啊,我们指针类 是不是要用加信号啊?对啊,生生米子的类型信号信号什么呢? px map 啊,比如说 pm 好了啊,等于六你有一个对象 q px map 是不是?这是不是常做的啊?我们就什么都没有默认啊啊?我们要分号,要加, ok, 那么此时我们要给他复职了啊。 pm 点设置,首先要载入图片吧,对不对?载入图片我们漏的一张图片就可以了,这是不是发要那么来了? 是不是啊?那么直接载入图片就可以了啊?刚刚我们看到他的一个参数说明了,对吧?这是图片的载入啊,那么图片的大小能不能设置呢?我们来看一下,首先他有一个叫做 feel, feel 是什么? feel 里面我们看到这个地方他的参数, 我们看到的,我在写的过程当中,首先我要知道他有什么方法对不对?然后呢?方法当中我们要看的是什么参数的,什么类型, 对不对?我们根据参数的类型,然后再去写我们这个对应的这个变量到底是怎么样的,想要去控制这个东西的话再写他的变量,这是不是有一层一层套过去的, 这是不是这真正的这个举一反三的一个效果啊?哎好,那么我们这是一个 feel 啊,那么还有没有其他的呢?我们来可以看一下。哎这是不是也有个 size 啊? 这是设置他的 q size 是不是这 size 其实是获取他的大小啊,大小了,因为因为他你们你又点了这个地方地方你看没参数的吗? 对不对?战术有吗?有的话他会提示的要再加上说没有啊,哎他仅仅只是获取而已啊,这仅仅只是获取,那么设置的话我们还想到一个赛对不对?发现赛的是不是也没有啊,因此我们在这里面的话呢就用一个杠杠的啊,这个叫做 我们再看一下啊它的 skill 的啊, skill 的其实也是一个尺寸,是这个 skill 的,大家这个词也要知道啊,这个是一个尺寸 go 这个词要了解,也就是我们经常会用到一些设置的一些相关的词啊,大小尺寸对不对啊?尺寸就是 skill 的,把这个英文单词要记下来啊 啊那么我们发现他是不是可以用啊?哎那么我们就直接设置好了哎那么我们他为呃假设我们他为三百啊,就我们先两百吧,让他有点区别 啊,两百那高也两百吧啊啊这样是不是就设置好了后面的两个参数可以不变让他默认,然后那么我们设置好之后这个东西该如何使用呢?就把这个变量传进来就行了。我们一开始马上会想到 pm 哎当我们发现使用 pm 的时候怎么样 不行啊是是不是不行啊?那么为什么呢?我们因为仅仅使用 pm 的时候这个东西 pm 表示什么?表示的他是一个创建新的 他是一个指针,指针类型的变量指针类型的变量但是他最重要要要的是是指针类型的变量吗?我们来看一下 santa pixman 你看他有有指针吗?没有吧 啊要取要使要直接最终用的结果是 qp, smart 这样的一个类型并没有用指针 对吧?没有用指针。因此我们如何根据指针去找这个对象呢啊直接使用新号就可以了取他的值吗?指针对应的这个值吗?那不就是对象了吗? 对不对是这个意思吗?哎所以我们要加新号此时要加新号。在 c 家家里面 啊,同学们经常会把指针变量,指针变量地址取地址变量这些东西经常会搞混掉那么我们要 经过大量的练习来进来进行感悟啊。这个是这样才是呃王道啊这样才是王道啊。那么我们此时再来看一下啊会不会有点作用啊此时来看一下哎 康秋佳啊对吧或者发现什么东西没有好像没有太多的变化啊没有太多的变化我们来看一下这个地方三百呢有没有有没有变化呢 哎也好像没什么太大变化哎但是他变了什么东西啊感觉好像好像变了什么东西啊不是我不不写这条看一下啊。 嗯好像没有什么变化对吧没有什么变化啊那实际上呢我们我们就最为简单一点好了把它进行填充好了看一下。嗯 嗯我们再看一下 sgo 啊 skill 的其实是有的啊那我们先来设置一下吧 两三百三百像刚刚大家所提出来的这个情况我们把它忽略掉啊那么这样子就忽略掉了对不对哎我们看看是否可以 ctrl 加啊 哎变化的是什么哈哈。妆体变了啊妆体变了哎 哎那你瑞赛之后他的窗体就跟着变化就跟着这个空间的大小变化对吧哎那么我们此 是的话呢我们呃在这里面的话我们看一下啊就通过另外一种形式设置他的大小我们看看 哦这里面还有个坐标 qpndy 四是指设备啊 大小呃 size 那我们暂时先这样吧。好吧后面再调节我们先来实现这个图片的一个轮播的切换,好吧把这个主题回过来啊回过来。 那么现在的话呢图片其实是有了啊待会我们再来控制这个大小因为大小的设置我们也可以通过帮助文档这种里面去看一下啊因为我们本节课的要点先要实现他的一个轮播那么轮播的话其实大家思想应该一点改变什么就可以 改变这个就可以了对吧改变这个就可以那么我们先来试一下改变以后是否可行啊那万一不可行怎么对不对啊要可行啊可行那么我们首先还是要把它引路进来对吧?引科路的 q 胎是 q 胎吗?引路进来好那么我们引路进来之后的话呢我们要写一下我们的这个 q 胎吗? q t y m e r 啊 q 弹啊啊用指针类型啊 q 弹啊一好了啊 那么我们此时是不是要搞个槽啊啊这还是一样啊,这每节课都要练习的 private private 曹 s o t s r 哎,孟浩你写的太快哎,好,我们我就写空好了啊,空的我们比如说是买方格选一 啊,切换图片的,这个就用来切换图片的,那么我们此时的话呢, ok 了,这里就 ok 了啊,我们是不是要实现他要的加加上回车好了,这里就实现了啊,那么我们接下去还是一样要是不是要进行关联? 好,我们来想一下,首先啊拍么是不要给他实力缓一下,拍么一等于六 q 拍么? 这是吧啊实力化之后我们要进行关联 connect 信号槽的一个关联 pm 一的信号啊,然后呢是信号 对象是 tme 发出的对吧?信号 sig nl 信号信号是什么?贪奥贪奥 time time out 对吧,这是不是可以找到通过帮助人道是不是可以找到他的信号哎然后接下去我们再来 到窗体上面的这一个槽 slot 是吧?哎,是,这个是买方形衣 ok, 这就写好了, 信号差已经关联了,那么也就是我们要让他每隔一段时间要执行这些东西吧啊执行这些东西吧,嗯 啊,那么我们呃赛特漂亮的还要设置吗?我们先不复制看一下只只让他改变这个只让他改变 这个参数对吧,我们看一下只复制这两行看看会不会改变啊,会不会改变。那么这里面时钟空间还要启用一下吧,不然不能用啊,太猛一点斯大的,比如说我们让他一秒钟改变一张啊,一千。 好,接下去我们发现这里面这样使用可不可以,为什么?因为他是一个全局变量吗?不是对吧啊?把他是不是复制一下,把他做到全局变量里去啊? 哎, pm 给他去掉,把他做一个全局的指针啊,全局的指针, ok, 这个全局的指针就做完了, 好, ok 了啊, ok 了啊,那么现在的话这个地方好像是生下了,对吧?那么我们现在的话无非是不是要把它进行改变啊? 啊?把它进行改变,那么这个值的改变就是一个数值。数值,我们是不是要做一个全局的数值啊?啊?全局的数值,我们一共有四个啊, 我们先把它做一个全局变量的数值,我们就声明一个全局的变量叫做 number 好了,好不好? number, ok, 那么我们把这个 numble 默认情况下让他变成 一吧啊?默认是一,那么是一的话呢?我们在这个地方直接用啊,默认男宝先先是一,先给大家复制一下,对不对?那么这个这个东西我们是不是给他做成男宝就行了 啊?注册 napple 的话,我们是不是直接直接对用支付串连接一下就行了?连接,那我们这里直接连接行吗?是不发现不行,那么我们是不是要进行转换?转换,我们是 上次说不说过用 q s 俊啊,那么我们把 q 是俊要引路进来啊,引路的啊, q 是俊, 好了,切换过来。我们现在 qsgin 如何进行转换呢?他有一个静态方法啊,叫做 克斯俊,冒号 numble, 不是 too 啊, numble 转数字要用 numble 这个啊,这个好,这个在我们前面很早的课程当中应该是有讲过的,那么这样的话就能够转了啊,这个叫做数值转 支付串,对吧?啊?数值转支付串啊,那么我们这里面的话呢?下面是不是也是一样啊?下面我们这个地方也是要用 q 难保,对吧?这里面这里我们是不是要改成 q 难保或或者整条我直接复制一下 好复制一下,但是我们每执行一次的时候这个 number 要怎么样呢?加加对不对? number 要加加,你说要加一,那么什么时候要给他制回去啊?如果说我的 几张图片刚刚四张,四张男宝这个数值我大于四的时候我就让男宝恢复成第一张,那就轮播了对吧?轮播了,好,那么我们来看一下是否可行啊?好像代码已经没有问题,我编一下看看 ctrl 加 b 是否能够变异通过啊?变异通过了对吧?我们看下去加啊啊 哎,来了吧啊来了啊,一秒钟一张,说明我们这节课的一个目标已经达到了啊。 那么我们接下去来看一下如何来改变这个图片的大小。那么在改变图片的大小之前我先要跟同学们教一个新的东西啊,新的东西是什么呢?我们要 labor, 是不是此时我们就进来了 labor 空间,但是你看得到吗? 也看到了,看到了内部里面的这这个东西,但是内部这个圆形你看到没有?圆形其实是没有看到的,对不对?那么我们如何让他现圆形啊? 哎,我们在网页当中往往如何让一个 div 现出原形呢?加边框 对不对?那我们此时是不是同样的道理来看一下对不对?那我们来试一下啊,加边框是否可以能够看得到他的边框,对吧?我们首先来如何设置他的边框呢?其实在我们的这个 呃界面上使用的时候啊,我们其实会操作起来会比较简单啊,我们而且可以直接设置,那么我们现在存代码的时候该如何去实现呢?也是可以实现啊,也是可以实现,那么我们先来看到这个, 这个东西对不对?我们是不是给他加一点东西啊?我们关键是要加什么东西呢? 加什么东西?我们可以简单的来看一下有没有跟边框有关系的东西啊?这个马云好像很熟悉吗?是什么?那个外边,外边,哎,外边句一样的意思是一样的 啊,我们设置的时候也是一样的啊, picks map 用过了, pikachu 也是设置另外一种,只是只不过另外一种类型的图片,对吧? pix map 就是它的功能反而更加强大。嗯,那么我们在这个 word 这文字的一些转换啊什么的,然后这个地方选择这个好像是居中方式吗? 对不对啊?就是中间的东西,我的举动方式,我载入的东西的举动方式,对吧?然后这个是选择的这是,这是一个 text for mate, 是指文本的格式化啊,这是大小 啊,那这里面有一个就有关系了,这个地方看到没有 scale 的 content, 中间是布偶类型哎,这里就感觉好像要设置是否大小可以实现,有没有感觉啊?之前好像没有设置这个,对不对啊? 我们先来看一看是不是这个啊?是不是这个影响的?我们先不看那个边框啊,因为刚刚看到这个函数的话,我们就好像有点感觉了啊,是不是这个原因,是不是没有让他允许改变他的大小,对吧?我们刚刚是不是有有那个改变他的大小啊? 好的,燕麦句是指什么呢?他的,呃呃 say 这是一个 scale 的是不是,哎,点 scale 的大写吧,哎,点不出来了哦 set, 呃,不是,呃。我们之前的那个 skill 的在哪里 啊?对尺寸啊,是那个尺寸是在那个啊 pm 里面啊,对吧? pix map 里面, 对吧?我想起来了啊,那么我们,呃继续继续看吧。哦这个里 pixnet 是不是又这个属性?我们来看一下 p pm 点 set 没有 啊,这个是指他的内容是否随着他的改变而改变啊,那么我们在这里面的话呢,就直接来设置一下他的 skill 那么这个 skill 的我们不管他啊,先设置成四百,成四百大于四百应该是挺大的。我们先来看一下效果效果有没有啊? 这一块来作为测试啊作为测试。嗯,那么我们应该是没有原来那个红的对翅膀支对翅膀遮住了对这里吧。啊老师你把那个注视一下,你会发现那个 啊是是有效果的。这个啊,这个观察非常细致入微吗?啊是有效果的啊,我们再来看一下注视一下这一条啊,观察非常入微啊,不是这个呢,因因为是加了这一条,加了这一条就是是否适应内容的改变而改变, 哎,就有点像是自适应在此是尺寸尺寸的自适应,这个就没了啊,那么这一条的意思就是就是一个尺寸的一个自适应,对吧,那么这一条我们这样子去搞其实是非常好的了,那么我们接下去的话呢,就是再来设置图片里面的这个尺寸 啊,那么他就会也会自适应,对吧?哎那这哎就这一条啊,所以我们这个给大家记下来啊,记下来也是自适应是非常重要的,那么设置 雷宝控件内容的自适应 设置啊, labor 空间内容的自适应,自适应方法是这个啊, set 这个这只为什么呢? q q 雷,不是吧? q 雷不累啊? q 雷不累, 意思大家明白啊,就意思有时候我这个地方我们寄的时候就寄一些,呃,我们以后写代码就是叫做会一些,叫做伪代码。什么叫做伪代码呢?把意思描述清楚了,但是代码是不对的,是不能被执行的,这个就是给你描述思想, 给你描述一个思想,这个叫伟大马啊,以后看到这个词大家要知道啊,伟大马, 那么我们继续来 skill 的啊,抗疼啊,这个其实比较好用,对吧?随着他的改变啊改变啊,我们 先来看那个边框啊,看看那个边框,那么我们边框肯定是要设置这个刚刚说到这个边框的这个话题,对吧?我们肯定要设置他的这个叫做 label 有没有。那么设置他的什么呢?我们再来看看他的有没有啊?有没有啊?看一下他的,再看下去。这些都是刚刚看到了 这个地方,对吧?那么这里面还有一条我待会给大家这个叫做 open x tree links, 非常有用。叫做什么呢?我们待会可以做一个链接,其实 啊,待会我会给大家来讲啊,那么我们在这个地方我们先来讲这个边框边框呃这里面的话呢?有哎, 发现有一个非常重要的一个要点,哎。丝带有丝带有好用啊啊?感觉好像是他的风格,对吧?那风格里面好像我们 css 里面是不是这样的啊?哎,其实除了这个之外的话呢,我们其实还有其他的啊,叫做还有没有呢? 嗯,这个叫做尤泽雷特啊,这个是这个是他的一个尺寸,这个是他的一个尺寸。哎,既有尺寸又有他的大小 啊,就又有他的位置,就那,哎,九米区,九米区,九米区,就是我们看到后面的这个地方,他有包含他的,你看 a x、 a a y, 对吧? 一个是他是这个就是他的一个坐标,窗体当中的坐标,横向、横向的位置和纵向的位置。 x 表示横向的位置 距离左边的距离,空间距离左窗体左侧的距离。 y 就是表示窗体距离上方的距离啊。然后后面的话呢, w 和 h 就是他的本身的宽度,一直 如果我们综合使用的话呢,用要用到这个啾咪曲啊这个方法,那么我们接下去再看到其他的啊,其他的这些优哥 data 什么都是设置一些其他的一些数据附加的数据啊,这个地方还有一个 设置他的属性方法啊,大哥,哎,这里面还有一个叫做 fix the size 啊,这是也是一个大小,对吧?固定他的大小啊,那么固定大小跟他的一些可变的大小又不一样啊,固定大小就他我们固定好,设置好之后他就一直不变, 就一直不变,一直这么大啊,就一直这么大。因为我们有时候我们像这种空间,我们在布局的时候,我们会,有时候我们窗体变大之后,我们会这个空间是不是也会变大, 所以我们这个时候我们通常会设置一个叫做最小大小,或者说是最大大小,这个时候某个空间会变的,我们图片虽然现在看到这么大,但我们现在因为是小窗体对不对?当我们窗体最大化的时候,有时候是不是看到这个图片也会变成变化, 也会变老啊,或者或者是他的位置都会变化,那么这个时候就叫做有点弹性,不,绝对不对,哎,这那么那么如果说你想要让他不变,一般来说就是设置他的 face 啊,就固定固定不变了,对吧? 我们再来看看其他的啊,有没有好玩的东西啊?在这里面搜索的 oppo 的内部就是他的一个名称。好,这里还有一个,看到没有, style shit 哎, style shit 是什么呢?哎,这里面我们发现它是一个 string 类型的, 是不是死菌类型的,哎,这个好玩了,我们可以直接在这里面写,哎 style 我没有想到是 css 对不对?我们好像可以在里面直接搞 css 啊,我们待会就可以搞他了啊,哎,给思路就给你打开了,对不对啊,我们嘛其实是可以的,只是给你装装着装演戏演了一步而已,哈哈哈哈。呃,那么我们来看一下啊 啊,这个地方设置他的最大大小,最小大小,对吧,然后呢还有其他的,我们要看到一些绘画绘制的时候的一些东西啊,他不来他等等,哎,对,设置他的图标啊什么的,我们我再看看有没有些好玩的啊, 我要顺便也做一个回顾,也可以设置他的背景什么的啊,那么我们现在就用一条,就相当于是写写这 这个 style shit 啊,这个 style shit 相当于什么呢?相当于是我们的保存一下变异一波 style shit 相当于是我们在写网页的时候行内样式 行的样式四句吗哎行的样式就嵌入到里面对吧就相当于是代码标签上直接写四代而不是写在 css 当然我们对我们也是可以采用用 css 的形式来直接写的啊在 qq 里面直接创建一个 css 文件好嘞哈哈哈哈是不敢想象啊哎然后呢 可以直接写四 s 把四 s 文件引入进来就可以了啊可以的啊我的那个工程的项目就这么做当然是有 一点点的区别的啊选择器有一点点有一点点区别。好我们现在来直接写这个 style shit 好那样式这个用起来比较简单对吧我直接来写啊好我们把这个边框叫什么边框 包的是不是包的直接写包的啊我们就啊一像素好不好爽不爽一像素啊呃一像素啊啊 sorry 的啊啊我说的吧哈哈哈哈好 唱什么我感叹号啊有个感叹号对吧感叹号不行这个说的什么东西 啊塞得低他这是在质疑质疑我的哈哈刚去掉币 啊啊变异变异通过了吧啊变异通过了是吧不敢质疑是吧这意思是我们来看看效果如何啊 哈哈哈哈。啊爽吗爽啊很爽吧啊那么是不是很好玩了啊很多东西很好玩但是呃大家呢可以回头可以去尝一下 qt 当中的 css 的用法啊 我现在可以告诉你是可以用的 css 用法跟我们网页当中的 cs 用法呢是稍微有一点区别就是有一些是不能用但是呢很多也是可以用的啊也是啊,也是可以用的。 好,那么我们既然已经看到他的边框了,那么我们可以确定他的一些大小啊什么的,对不对?我们现在来设置一下雷宝的一个大小,我们来看一下啊,雷宝应面具设 是大小赛斯吧,有没有赛斯 plus 啊,这个是大小策略 哎,也可以在单序腿里面搜到大小,对吧?这个是这是不是感觉也很有感觉啊,我们看一下啊,是否可以啊?继续写第二条 wid t h 啊,我们设置它为三百像素 啊,高度八百像素吧啊,我们来看一下是否可以跑起来啊,因为有一些是不能用的啊,有一些是可以用, 那么日常当中我们要记住一些常用的,对吧?哎,跑起来了,有吗?啊?没有变化啊,我重新重新来啊,会不会刚刚啊,说明是没有的, 对吧?这地方是没有的啊,那么我们这个地方的话呢,可能还要通过其他的大小来进行调整啊,我们这里面哎,或者是把这个改它改成 boss 看看,对吧,因为这是适应内容吗?对不对?我们来看一下啊 啊,发现没啥用,只不过内部的图片不会被自适应而已,对不对? 之前是内部的图片,图片是会内部的内容会被自适应的啊,那么这个应该是明确的,就是他的内部的内容要自适应他的这个雷博的大小,对吧,那么我们现在来调节一下这个雷博的大小啊,我们先把这一条先给删掉啊 先,哎,先把这条给删掉。 好,那么我们来设置他的大小 点 skill, 我们看到他的边框了,那我们就设置的时候至少心里有数了吗对不对?不会感觉这条带吗到底有用或没用至少看得出来了是吧。我们先看到设置一般都是 set set 的时候有没有好的东西呢可以给我玩的啊有吗 跟大小有关的有吗看一下哎。呃啊这个这个是有的对吧这个是不是有的这个是不是有这个设置他的大小现在捐布区还有他的一个位置了对不对啊我们再看看其他的有没有 其他的就是一个瑞四 s 其实啊其实就是一个瑞三或者直接设置 yswi h。 啊没有哈哈。啊没有没有啊没有就那个吧没有就用我们九妹曲吧 进位去啊我们就用它首先它的位置把它定啊把这个飞机往旁边的位置挪一挪啊比如说我们挪个呃一百像素 x 轴挪一百像素 y 轴挪一百像素啊就相当于又挪出来了对吧挪出来然后呢我们大小我们就三百三百 好我们来看一下 来有点慢啊来了吧来了来了吧挪了三百像素过来吧。啊那啊一旦你的空间有了之后的话呢他的窗体的大小也会随着你的空间的变化和变化 是不是窗体大小是不是变了你如果说想要窗体的大小随着我不要让他改变我改变怎么办?就是那就这个改成,哎设置好就可以了,再没 里面这是不是我们创写的大小啊或者说在这个泰式的在初始化的时候我们是不是有个初始化的一个构造函数啊 哎这就是哎这就是他的初始网购的函数啊我们设置他自己本身吗这是他的一个呃 set window 呃 window windows 也是一样的我们设置其实设置他本身这个窗体的居民群 啊或者是设置应该是啊我们就让他位置就默认好了。我们对九米区就是设置他的窗体的话呢就相对于电脑屏幕的我们顺着顺便用这个吧。好吧因为也可以看到电脑电脑屏幕的位置对吧 哎 set 啊就位曲啊这个东西很好用啊我们比如说让屏电脑屏幕左上角为零对不对啊就让他 置顶在屏幕的左上角啊屏幕的左上角呃然后呢他的大小我们就给他弄个六百吧六百这就应该比较大了对吧。好我们来看一下是否可以实现 ctrl 加啊 来了吧这个就是他认为的位置啊他认为的位置左上角接牌还其实还空开了一点对吧他其实还空开了一点点其实他他认为的应该是这样那么呃 你可以填个负责哈哈哈。啊那么这个啊负一百负十吧 往往左一点。哎这是我也走了我我也走了调了个我也走了对吧那他他也跟着改变了啊好了没了。呃我们把它直接这样关掉了关闭传奇 那么这个地方可能会跟他的这个妈卷啊拍的呀可能都有点关系大家回去自己去大家自己回去去调节一下都给他设置成零对不对?会怎么样?好那么现在我们来看我们这个飞机这个飞机 大小是不是也过来了然后内容是不是自适应自适应是不是随着你的呃雷博空间的大小而变化了这是不是我们要的效果有时候不需要让他自适应,那么我们就相当于是把自适应去掉把,再把它注视点就可以了, 注射掉我们再来看,那他就没有自适应了,对吧?所以我们只需要调节外面的,里面的,你如果说想要跟他一样的话就设置好自适应就行啊,那 px max 也不需要设置对吧?啊,当然 pix 还有更还有更多的功能啊。啊,我们因为它是一个内裤了。好,接下去这是一只飞机,已经有了啊,那么我们接下去的话呢?来 来制作一个链接,比如说我想要让他跳转到我的网站上,对啊,我做完一个软件,我要打个广告嘛,直录一下对不对?哎,大家 直录广告是不是这个思想啊?一开始的时候就可以当,哎,是商业价值对不对?让你的软件有更大的商业价值啊,那么这个时候如何来直录呢?啊?我们就做一个 哎,我们就我们就来做一个比较简单的一个啊,做在图片上是吧?对,嗯 啊,那我这个地方我就用到啊哈,那么我这个地方我就 用一下文字啊,就用用一下文字,那么我们就用听。好,我们就用第二种形式啊,第二种形式来创建我们的雷宝啊,这个之前我们用到的是一个雷宝,是用什么形式啊? 并非指针的形式对不对?现在我们用指针的形式来创建啊,也是刚好以以不同的用法啊,不同的用法。好,首先我们现在是用个 q 雷宝, l a b l e 雷宝,现在我们来创建指针。雷宝什么呢?文字啊,比如说是呃 d e s c 吧。描述啊,好 好,接下去我来把它实力画一波啊,实力画一波,我就写到, 呃,最后吧,啊,为了区分一点啊,就写到最后啊, ok, 那么我们现在,呃这个叫做文字图,文字列 链接啊,文字链接, ok, 我们怎么来?首先我们要把它实力画一波,扭一下,对不对?现在这一这一个动作是不是都会了? q l 啊?这个就是相当于是动态创建空间了,你这个这个 q l 的形式一会 会不会创建一百个空间?会不会啊?是不是下次我的这个表格当中我有十个空间,二十个空间一样的,我是不是直接溜一个就出来就行了?我要制作一个表格的,表格当中我要填空的,我是不是要把这个东西溜进去啊, 对不对?这这就是不是减减少你的工作量啊,对吧?而且你的命名也是非常有规律的,做一下就可以了,对不对?哎,那么这就根据你的自己的规律来了啊,然后接下去我们来描述一下他的, 这个时候我们就要 z 死了啊,这里面要写好就我们就不需要设置他的培养认可了,是不是啊?哎,那么我们此时设置他的文字赛特 tax 啊,赛特 tax, 那么赛克 tax 的时候我们是什么呢?我们就发现要设置设置一个, 比如说就一定变成吧,好吧啊?给自己打广告啊啊?我们,呃, ok, 那么我们发现这样的话呢,就是一个普通的文字,这就是跟我们之前的是一样的,看一下 应该在左上角吧,对吧?左上角这个普通的文字我们没有设置他的位置啊啊?普通的文字,那普通的文字肯定不行啊,我们刚刚看到一个叫做什么东西啊。叫做啊? set a link 对吧?有个什么 link x 啊,我们这个我有点忘记了。往下往下看一下啊。 set open extra links 对吧。我们让他开启叫做什么呢?链接模式啊,这是不是很强大?我们的这个 label 是不是很强大。 居然还能开启链接模式啊,那我就给他开启一个链接模式,结果出现了什么呢?啊只啥都没改变啊,只不过他可以有个链接模式。 哎现在我要告诉你的是又有一个好消息又来了啊,可以直接写 htm 代码哈哈哈哈哈这个是不是又是一个好消息啊,因此我们只需写 a 链接就行了。什么个意思呢?在文本当中直接写 a 链接啊, 爽不爽啊啊真不要脸啊。很很爽。好, hr ef 直接来了。好, http 编程创造城市点 com 看一下效果如何来。哎来看一下效果如何啊。 发现了什么?链接来了指针是不是都变了啊,我点击会不会变呢?点击浏览器会不会跳出来。哎呦 哎,广告也打的很好对不对啊很 ok 吧。啊 啊给人关关了。这个很厉害啊,看来你这是属于做流氓软件的料哈哈哈哈。啊好,那么商业价值大家也挖掘了。 那么这些功能那请你制作成类似于我的我的这种啊。那接下去其他的话呢?大家呢?呃教给大家课后自己来写好不好我我把相应的功能 以及我们要写的作业,作业就类似于这么一个,你把这个文字描述就植入你的广告就可以了 好不好。好啊哈那么我们今天的这个课程就到这里啊啊下课。
