粉丝1036获赞5886

哈喽,小伙伴们大家好,欢迎收看柳径一编程零基础拍层教程,那么这个今天我们开始是拍 的一个进阶高级啊,高级,那么这样一个层次的话呢,我们学本期这一一级课程的时候,我们应该是要先 掌握我们前期的零基础拍摄教程,呃,老刘的这个零基础拍摄教程对吧?呃,从第一期到第一百二十五期全部的这一些知识点的基础上,再去学习这些高级进阶教程的话,会对你会更有帮助,不然的话呢,很多东西你可能会听不懂啊,所以 如果说没有看过零基础拍层教程,意味着你的积视点可能还不全面啊,最好先回到老刘的这个频道主页上面去啊,找到这个零基础拍层教程。好,那么今天的话呢,我们废话不多说给 大家,主要直接讲这个主题啊,直接了当啊,我们用的是拍全家 and 看着三,然后再加上这个 p y q t 五这几个来安装我们的可视化 界面环境的一个搭建啊,可视化界面环境的一个搭建,那么这个可视化界面环境的搭建的话呢, 意味着我们在以后的开发过程当中啊,呃,我们就可以怎么样呢?可以将我们的界面啊进行直接拖转就能够进行开发了,所以啊,这个可视化开发可以大大的提高我们的这个呃 软件开发的效率,对吧?当然从根本上来讲啊,还是我们这个需要我们这个代码去进行调节,可能有些问题解决不了的时候,就要从这个代码的层次去解决,肯定就没有问题了,都能够解决了是吧? ok, 那 那么我们可以先简单的看一下啊,今天我们做完以后的话,我们会出现这样的一个界面啊,我们可以看到啊,这个呢就是一个可视化的界面啊,可视化的界面,然后这个呢以及这个呢,呃,就是我们今天所要所要,就是说最终可以成型的啊,我们来看一下啊, 我们最终做完之后啊,今天的这个教程啊,学完之后我们可以简单的可以来使得我们这样一个程序跑起来啊,这个程序呢,我们就是跑的是我们的这样一个界面啊,跑到我们这样一个测试的这样一个界面,我们右键运行一下 看看最终的效果啊,这就是我们最终的效果啊,我就简单的拖了两个空键的啊,一个按钮,一个是就两个按钮, r 六八乘以及破去八乘啊,嗯,那么这一个最终的界面我们就发现啊,并不需要 像 tk 这样去写,对吧?以前我们学过这个 tk, 但是呢 tk 的话呢,他的功能啊,相对来说比较的啊,相对来说会弱一点啊,没有那么多的酷啊,或者说有些东西啊, 写起来他只需要写一些比较简单的一些文本,对吧?现在比较简单的一些软件可以用 tk, 那么相对来说稍微复杂一点的软件我们就要选择的是这个 电子啊,这一个这个啊, pyqt 五啊的这种形式来去写了啊,我们就记住借助的是 pyqt 啊,借助的是 pyqt, 那么我们在呃之前的话呢,我们其实就是学过的,是啊,掌握的是 啊,我们写一下,简单写一笔啊,掌握拍摄基础知识啊,知识啊,找到 老刘的零基础啊,拍摄教程啊,到老刘的,哎,频道官方主页上去找, 去找他。那么优酷的话可以直接搜索刘金玉编程啊,优酷直接搜索刘金玉编程就可以找到我了。那么也是比较 啊,也是一样,或者你到百度直接搜索刘金玉编程啊,就可以找到我的一些教程啊。嗯,你要到我的频道主页上去才能看得到啊。那么,呃,我们来慢慢的来看看啊,最终这个东西啊,该怎么去 做的啊?怎么去做的啊?我们可以打开我们这样一个项目目录啊,这个项目目录的话呢,我们是 ljvipy, 对吧? ljvipy 要死,我这个新建的一个目录啊,对吧?那么 这样一个目录我们可以给他打开,可以给他打开。呃,看看打开方式啊,第三个 啊,这个是用我的那个工具在打开了,因为我这边的话工具装的比较全面啊。呃,好了,那么我们暂时先这样子啊,暂时先这样,我们通过这个地方 来查看一下啊,来查看一下那个,我们打开一个我们刚刚的这个,这个呢?刚刚写的这个瑞迪巴特,对吧?我们就可以最终就可以实现这样一个计划啊,就是说是我们的一个左边的按钮可以进行拖拽啊,可以进行拖拽,比如说我们拖一个时间啊,对吧?拖一个时间啊,拖个日历啊,这些东西啊 功能都是已经成型的,意味着我们以后啊代码的开发效率啊就可以大大提高了,对吧?那么此时我们再保存一下,保存一下之后我们再来 来,呃,重新运行,我们来看一下啊,再来重新运行,哎,好,刚刚的那个那吊用啊,我们看一下啊,这个地方还得给他重新生成一波啊,重新生成一波 生成一波啊,大家可能现在还没有看的太明白啊,不过没有关系啊,哎,好了,开冷的什么的,我刚刚刚刚已经看到了啊,哎,我们 senter 什么什么什么什么什么啊重新生成一波,我们再来看一下啊, 好,这些就有了,对吧?啊就有了啊,也就是非常的快啊,对吧,编程的效率就非常的高了啊,好了,那么呃这个呢,我们今天要先学习一些基础知识才能够明白啊,老刘,刚刚这些东西该是怎么做到的啊?这是刚刚仅仅只是给大家看一个呃,开发的一个效果,对吧?很快的一个开发的效, 那么我们接下去要做的人就是这些东西就能够做到。我们刚刚的这个地方啊,那么我们采用的开发环境就是刚刚的这个 pyq 拍全,拍全啊,拍全这样一个软件开发工具,以及我们的这个看到三啊,以及我们的这个 pyqt 五啊,采用这些几个呢,我们就可 可以使得我们的这刚刚的这样一个开发环境啊,就能够进行顺利的搭建了啊,那么我们这里面啊,呃,使用这一个思想啊,是怎样的一个思想呢? 开发思想,开发思想, ok, 那么我们先把这个开发思想给大家讲一下,然后呢我们进行这个环节,大家见啊,那么开发思想呢,我们第一个是就是相当于是哎采用这个 py 创作为集成开发工具 啊,那么他是作为一个集成开发工具啊,作为一个,呃,那么这个集成开发工具的话呢?就我们刚刚看到了啊,既可以使用这个界面的一个开发,然后呢?又可以使用这个,呃什么其他的,对吧? 那么我们在使用这个集成开发工具的时候,我们就可以集成,集成了什么呢?集成了这个,呃 q t 五, 嗯,点赞呢啊?时间是 qt 套件,那么这个,呃 qt 套件啊,其实并不是他自带啊,可以集成,应该说是可以集成啊, 可以继承 qt 套件啊,但是这个 qt 套件并不是他啊自己本身就拥有的啊,那么这个 qt 套件我们是需要进行下载的,我们为了简单方便起见啊,我们就直接 采用安德康特三。安德康特三我在 qq 群里面给大家已经传了一个,对吧?我们编程创造城市的这个 qq 群, 编程创造城市的这个 qq 群给大家传过了,我们的这个,呃,编程啊, pypy 拍粉学习啊,艾娜科特三,对吧?艾娜科特三,我传过的这一个, 哎,应该是永久保存的,这个临时的就删掉。我们来看到的这个是,呃,这一个东西啊,就给大家最新下载的啊,这是我的我的我的这个安德康德三的这个最新的一个版本啊,好,那么 这个东西啊,呃,然后 py cham 啊, py cham 的这个激活码,然后呢?呃, 还有一些 py cham 的一个安装包,对吧?这些东西都有啊,那么这个 py cham 的话呢,我们在之前的呃零基础 教程当中已经给大家讲过了,所以我们的 pyq 我们就不会再给大家去讲了啊,然后呢这节课我们直接就直接从这个 mc 三开始会去进行讲起, ok, 那么我们的这个 kt 套件集成在哪里呢?我们 啊采用这个安德康的,安德康的三中集成的各种酷啊,各种酷套件啊,来直接使用, 来直接搭建,来直接搭建什么呢?可视化开发环境, ok, 那么这个的话呢,呃,但是,呃我们这个地方我们是需要自己去搭建的,对吧?我们就不写啊,我们待会看看如何去搭建啊?如何去搭建。 那么,呃这个那么我们在写下面啊,这个开发环境当中它其实是包含的是点赞哦,这样一个东西啊,就是 q t 的一个点赞哦,啊,这样一个东,呃, q t 的一个 界面的一个可视化的一个开发工具啊。嗯,好的,那我们就介绍在下面吧,介绍在下面啊,第三个 q t 的 啊,可视化开发工具,那么实际上的话呢,大家看到我老刘的这个桌面上有这个 q t crate, 对吧?那么这个东西呢,实际上就是 q t 的一个啊,开发工具啊,他 q t 他自带的一个开发工具。那么 q t 这个东西是什么呢?是一个大家就可以理解成一个很 很多的 c 加加酷的一个风装啊, c 加加的话呢,这个语言大家还没有学过啊,都没有关系啊,那我们就 只需要学会这个拍神去调用这个酷就行了,我们这个拍神的话呢,实际上已经,呃呃,只需要调用,对吧?他这个地方调用啊,具体的这些酷的底层的东西啊,私家家已经写好了也其实也就是说我们当前采用的这个开发环境,在 具体在我们调用的时候,他的效率是非常的高的,因为他的底层就直接是 c 家家去写的,对吧?啊,并不通过其他的一些变异平台了啊,所以他的一个呃具体的程序的运行效率啊,也是相当的高的。那么我们 qt 的可视化开发工具啊, 在 and 看到三张中,嗯,看到,然后写一下啊,嗯,看到三中的这个点赞一个, d s i g n 呀, 点一个 c 啊,就是这个啊,这个设计工具,开发设计工具, ok, 那么我们 下一个啊,大家看到我们后面我做了一部什么动作呢?我更新以后,刚刚我把这个呃东西啊,这个其实就是这个,其实啊,就是我们的这个第三个啊, q t, 大家看到啊,这有个标志叫做 q t, 对不对?这个有个标志叫做 q t 啊, 那么这个标志意味着什么呢?这个标志就意味着我们 qt 设计的一个软件啊,一个一个一个界面,对吧?但是 我们想要在拍摄当中使用的话呢,我们还需要通过转换,转换到哪里呢?把这个,把这个文件啊,把这个文件,把他所有的代码啊,就是 q t 的当中的所有的代,所有的代码,把它转 换成另外一套叫做拍摄当中所有代码,大家看到啊,这里面拍摄当中所有的代码,对吧?今天就仅仅给大家讲这个思想啊,明天给大家去分析一下,具体大家这一块该怎么去使用它,这里面是怎么样的?然后我们如何去进行调用,以及自己去进行写一些调用的思想啊,一些方法。 好,那么今天我们主要是针对于开发环境的一个使用啊, ok, 我们继续来看啊,那么思想的话,大家首先还是要明白啊,呃,这一个,这个工具生成以后 啊,这个工具啊,这个工具什么呢?呃,做完的 软件的扩展名,对吧?这个工具设计完,设计完界面, 设计完界面模样,哈哈,设计完界面 后,这个是要来干什么呢?设计完界面以后的话呢,生成的文件名称扩展名 名称,扩展名是点 ui 啊,点 ui, 扩展名,他是 ui, 对吧?他是 ui, ok, ui 就代表我们可是他的界面啊,然后我们这个下一个啊, 下一个,我们的开发思想其实就是对这个 ui 进行变异啊,变异,转换啊,我们,嗯,这个采用什么呢?采用 pyuic uic 是什么意思呢?就是将 ui convert 嘛,对不对进行转化啊? convert 转化, 转化成,哎,拍摄的代码啊,转换,转,为什么呢?拍 省啊, dy 转为拍省中的代码,对吧?哎, 我们将这个 pyust 转为拍摄当中的代码啊,对吧?进行是这个过程,这个过程啊,是一个是从 qt 代码转为拍摄代码的过程 啊,这是这样一个过程啊, q e 代码转为拍摄代码的一个过程。 ok, 那么我们这里面啊,转换以后转换的过程当中我们在使用的是拍摄的是哪一块呢?实际上就是使用的是这里啊, 核心啊,这里的核心啊,给大家讲啊,这个地方很重要啊,先到后面, 这里的核心是什么呢?使用的是这里的转换核心,使用的啊,是 tyqt 五啊,这个酷 啊,这个这个酷啊,这个酷来进行转换的啊,啊,这个 pyqt 五,这就是一个很好的一个转换工具啊,就就把我们的界面转换成我们的代码,对吧? 实际上我们最终的,但这个是我们的界面,对吧?实际上最终我们通过右键啊,我们设计完成之后呢,会通过这个右键啊,右键有一个,哎,转换 pyuic 啊,这是我们自己设计的一个名称啊,转换转换以后,我们就直接在我们这就会生成一个这个文件 py, 点 i test 的偏点 py 啊,这样一个文件,文件名称相同,但是它的扩展名就是呃点 py 的,也就拍成的这样一个文件生成之后就会是有一些这些拍成的代码,那这些拍成的代码其实就是 qt 当中所设计的这样一个,设计的一个,最终的一个 这些各个空间啊,所在的位置,对吧?啊,这样的一个情况啊,自动生成过来了,然后最后呢,我们采用的是这个 自己写一个文件,来调用我们这个深层的这个拍摄的代码来最终实现我们这个界面的,怎么样秀出来就使得我们这个界面啊显示出来啊,那么这个具体的思想,我们从明天再开始下一节课程啊,再开始给大家讲啊, 也就是说我们的这个开发思想一步一步过来,首先采用的是这个 py 工具啊,来集成的这个 qt 套件。 第二步呢,我们要使用的各种酷来搭建的,这个可适合环境啊,实际上我们这个话如果说一开始都做了这两步做完了,环境我们搭完了,我们就其实只需要理解从第三步开始就可以了啊, 第三步开始当中我们就直接可以右键设计啊,设计,那如何去设计呢?如何去设计呢?我们在项目当中直接右键,或者是我们在这个地方有个工具啊,有个工具,然后呢是一个扩展,对吧?扩展,然后呢点击这个 q t d r o 完了之后,我们就会直接跳出我们的这个 设计界面,对吧?设计界面,然后呢直接就可以进行创建设计了啊,然后最后进行保存就可以了,对吧?保存到我们这个项目目录就行了啊,好了,那么就是这么简单啊,就这么简单,这是做的时候的一个过程啊,对吧?做的时候的一个过程,那么我们明天会给大家具体讲这个过程,然后 后我们来把这个工具啊,来看看啊,这几个步骤的一个搭建,以及呃怎么去安装的,给大家来讲一下啊。那么呃这个我这个环境的话,因为是已经搭好了,大家在搭建的过程当中肯定会出现各种各样的问题, 那么我把我搭建过程当中出现的一些问题啊,给大家来汇总一下。首先我们来呃搭建之前 环境搭建,对吧?环境搭建,那么这个环境搭建的第一步,我们实际上应该要把我们呃,把我们的这个 py trump 啊, py thirmpy charm 的中文版转中文版的,呃,转为英文版啊,中文版 啊转为英文版啊,因为我们有,当然有些小伙伴啊,他的一直采用的是 英文版,这当然是最好了,因为为什么呢?我们现在待会我们要点击的话,要进入这个设置,如果是中文版的环境下,我们实际上是进不去这个设置,你怎么点都进不去啊?在这个其实这个地方的链接啊,他这个做的时候被忽略了啊, 那么所以我们这个地方进不去,那么怎么样才能进的去呢?哎,我们直接来把这个项目先关关掉啊,先关关掉,那么我们怎么样去进行转换啊?我们将这个, 哎环境搭建第一步,对吧?第一步我们是将转为英文版,那么我们去将我们之前的中文版的这个,呃这个资源文件啊,将中文版的 资源文件啊,呃去啊,备份,去备份啊,去备份,然后呢?呃就可以 就默认就默认为英文版了,或者是删除,对吧?啊?我们当然是备份当然比较好了,我们还可以把它转回来吧,对不对啊?我们来看一下啊,我们直接如何去到我们的这个 py 的一个目录呢?我们直接在这个地方啊,找到我们的 py try 啊这个东西。右键啊,右键什么呢?到指定的位置啊,到指定的位置,打开文件锁在位置,对吧?打开文件锁在位置, ok, 那么我点击打开文件锁在位置的话呢,会直接到我们的这个 啊步骤啊,桌面上找到 py 啊,图标, ok, 然后呢?右键,这是第一步,对吧?然后第二步呢?右键 打开到目标位置右键打开到目标位置, ok, 然后呢?我们要找到的目录是什么呢?上一层目录,对吧?上一层目录 到上一层目录,也就说实际上是 py 的一个跟目录啊,就是我们安装这个软件的一个跟目录啊,这个是三点五的,对吧?三点五的啊,我们看到找到这个 py charm 的安装跟目录啊,第三步要找到 py charm 的安装跟目录,也就是说是上一步啊, 找到 pytrom 的安装跟目录啊,就是实际上就是去找我们的那个呃,资源的环境嘛,在哪里呢? lib 下面啊?啊?然后呢?找到 lib 目录,然后我们再找这个, 大家还记得吗?很早以前给大家做过这一步啊,然后再找这个 ress, 在 led 下面找到这个 ress, 然后把它后面加个 b ak, 代表备份,对吧?代表备份, ok, 那么这一个 好了,那么在这个地方就找到 liblib 目录, ok, 然后呢?是将 呃目录下目录下的这个啊,在 最后添加点 bak 啊,点 bak 啊,那么他就会变成变换一种文件类型啊,首先就是我们就是把它备份了一下,对吧?当然这个时候有的小伙伴到目前为止啊,作为一个呃,你在搞计算机编程的,还不知道文 扩展名是什么的文件名称点,然后扩展名,有时候你可能还看不到这个扩展名,千万不要把扩展名隐藏起来,对吧?作为一个软件开发的人员,你你必须要认识这些扩展名是什么,比如说点 gia 啊,那就代表的是嘉宝的一个价包文件,对吧? ok, 那么你这个东西 就后面加一个点什么呢?点 b ak 啊,点 b ak 就代表他的一个扩展名啊,是一个备份的啊, 当然这个辈分在这里面是不会被识别的,所以我们可以这样去写啊,以后可以再给他改回来嘛,对吧?然后呢?你在这个地方扩看不到扩展名,怎么情况呢?那你如果是温室的情况,我们可以点击这个查看,然后呢是可以在这里面可以看到这个 隐藏的,呃,这个这个叫做文件扩展名,你要给他勾上,不勾上他就不会显示,你看对吧?不勾上他就会是把这个点接啊就给 显示出来了。文件库讲明不要隐藏,或者是在你要找到这个选项啊,你在你的文件当中应该是文件夹和 搜索目录,对吧?组织文件下和搜索目录会可以找到这个东西啊。查看,查看什么呢?查看就是到这个地方叫做隐藏的扩展名,给他这个勾要给他勾掉你才能够看得到,对吧?才能够看得到啊。好了,那么这一步大家应该都知道了的话呢,我们就可以进行下一步了, 已经把这个已经做好了,因为这现现在我们重新打开这个软件啊,就可以使得我们这个软件变成英文版,此时我们就可以进行工具的一个配置了啊, 我们待会就可以进去进行这个攻击的配置了,当然在配置之前我们需要安装一个软件啊,这个软件我们会继续给大家讲啊。第一步先要把这个东西做好啊,前提的 工作先做好,对吧?然后在这个地方点击 file, 对吧?然后 setting, 就是就 setting, 其实就是什么 设置吗?对不对? file, 然后呢是一个 setting 啊,设置好这个时候就可以弹出一个界面来了,我们就是在这里面我们设计两我我可以,其实是给大家一个倒序的方式,对吧?我们在这个地方我们去设计,哎, 自己去去规划啊,自己去规划两个东西,对吧?自己去规划这两个东西啊,这两个东西呢,其实就是我们手手工加上去的,对吧?手工加上去的,我们待会需要的两个工具啊, 然后需要的两个工具,好,呃,那么这个图,这图,这个是待会需要这个手工手 手工手工的扩展的,扩展的两个 什么呢?两个项目吧啊?两个项目,呃,两个环境,可以这么说,一个是点赞哦,对吧?点赞哦,就是设计第二个呢就是 poius 啊,这个 uic, 这就是把 ui 添加转换成这个拍摄的代码,对吧?把上面的这个设计的这个,把上面设计的这一步的代码转换成拍摄的代码啊,就这就这两个东西啊,啊, 那么我们在应该上面应该有给大家讲过了吧,对吧?核心的一个东西啊,好了这个思想,所以先给大家讲啊,接下去的话呢,我们需要这两样东西。之前啊,我们需要做两部事情啊, 先要安装我们这个安娜康乐三,安娜康乐环境的搭建,那么我已经把这个刚刚的这个 qq 群里面已经给大家显示了 啊,这个一个工具,那么大家可以加这个 qq 群,很快就能够找到另外一个呢,老爷爷把这个最终的思想就给给大家。这如果你网上网上去找怎么找呢?直接百度搜索 and come to 三就可以了, and 康的三啊,对吧?那么你这就可以直接到官方网站去下载,如果你嫌官方网站太慢或者进不去啊的情况,那你就直接怎么样这个地方当漏的下载,你就直接点击你是六十四位或者三十二位的, 呃,这个拍摄版本是是什么情况的,对吧?二点七的,那你就下载二点七的,三点七的,三点七系列的就下载三点七系列的啊,我们一般现在先下载的是最新版本的,对吧? 所以是我这边下下载的是给大家传的是六十四位的啊,那么好,这个地方包括马,这是我们是 windows 版本,对吧?包括马可 os 版本,有的 小伙伴在群里面提出来了啊,能不能下载呢?可以大家自己去下载啊,包括零点四版本,你没有的话呢,还能看到啊,都可以到这个地方官方网站去进行下载。到啊,那么我就群里面直接传一个啊, winds 版本啊,如果大家需要的话呢,我可以跟我单独提出来啊,然后我在群里传另外两个版本也没有关系。 ok, 那么我们在这个地方啊,现在要进行环境的搭建啊,这个环境的搭建啊,只需要注意一步啊,我这个地方我们下载下来之后会有一个这个工具啊,就是叫叫这个还能靠在三会,是这样的,对吧?我们再直接 直接运行。我,我给大家运行一下,因为我已经装过了,我们运行一下,我们直接到安装那一步的时候,我们就不装了,大家直接点击下一步就可以了。呃,那么你这个运行呢,最好还是采用右键管理员的形式来进行运行,因为我这里已经默认是右键管 管理员,所以我们就直接运行了,然后我们直接点击下一步,在下一步。同意这个地方呢,你可以给所有用户想安装,也可以给自己安装,对吧?推荐是给自己安装啊,那就给自己安装好了啊, 那么我们这个地方也可以所有用户啊,默认你想默认一路下一步都可以,一般大家可能都会喜欢默认一路下一步,对吧?那么这一个你你看到啊,他默认是装在哪里啊? program data, 对吧? program data, 那么老刘的话给大家给推荐大家呢,你就直接换一个 目录好了啊,自己目。哎,这这个我们习惯性装在这个 c 盘下面的 pro 国人 fire, 对吧?那你直接新建一个这个安德康的三这个文件夹,对吧?这个地方你自己新建一个文件夹,点一下他就出来了啊,对吧?然后这这个地方安德康的三新建进去,然后选中这个文件夹,把这个路径啊定位到你刚刚的这个环境啊, 你这个没有计算机技术的话,你到这一期可能连这个都听不懂啊啊,我当然大家基本上在学这个的话,绝大多数应该是能够知道的,对吧?那么比如说我们就,呃 啊,比如说我们默认下一步了啊,然后呢,你最好是把这两个勾的都给勾上,一个是注册 n 科的三作为 是三点七的一个版本,下面这个勾,另外一个勾呢,就是上面那个配置为环境变量啊,嗯,也都给他勾上,有的小伙伴可能点的太快了啊,这两步都忘了点了,那这个时候啊,也没有关系啊,老刘会给大家进行弥补,再接下去一步呢就进行安装了啊 啊,就进啊,进行安装啊,接下去呢,我主要是把这个啊开发环境啊,他的这个环境变量的配置的这一步给大家,给大家展示一下怎么去配置,假设你如果这两个勾没有勾,那么这个时候 你就需要进行手工的进行配置啊,我们这里面会稍微深入一点,我们因为是高级课程啊,我们就深入一些去进行给大家去进行讲解啊,那么就是这两步啊,那么完了之后的话呢,你这两步其实应该他会自动 安装的,你如果都勾上的话,问题都应该都会能够自动解决,那么如果说你没有勾上的话呢,这个时候你就应该是要配置环境变量啊, 默认按按这个推荐安装到常规的这个 program, 当然你不安装的这个文件夹也没有关系,对吧?文件夹一下,那么这是推荐安装啊,因为我们这个习惯嘛,对吧?习惯性这样的。第二个就是安装的时候注意将 啊这个开发环境啊,将将最后啊,将安装前的这个复选框给选上啊,将复选框选上就可以了,对吧?将啊 复选框也就是多选框,对吧?将复选框勾上,勾上啊,都注意啊,都把它勾上就可以了,如果说没有勾上,那么啊第三步我们就开的啊,如果没有勾上的啊啊 啊,然后请看这个手工手工搭建手工环境啊配置,对吧?请看手工环境配置,那么接下去的话我们就来进行手工的环境配置啊,这下面我们就是进行手工环境编制配置啊,我们呃这个找到啊, 找到这个叫做环境电量,那么这个环境电量是在哪里呢?计算机属性啊,然后呢是一个高级 环境变量啊,变量,这是第一步啊,这第一步我们来看一下计算机电脑,对吧?右键属性啊,然后呢是找到这个高级系统配置,找到高级啊,高级高级系统设置,找到高级,然后再找到环境变量啊, ok, 一步一步下来啊,大家看着啊, 然后呢我们找到的是这个,大家注意啊,我们找到要不要点上面啊?点上面就是为单个用户进行配置,对吧?我们还是为所有的进行配置好了,就是系统级的进行配置,我们找到这个 pass 啊,下面找到这个 pass, p y p a t y p a t h pass, 然后点击双击进去或者编辑, 然后我们在这上面啊给他添加这三条,我们要或者是你这个安装完成之后,他默认会,如果,如果勾上了勾的话,他会默认给你添加这三条,如果说你没有添加,那么你在这里进行新建啊,新建之后把那三条给添进去,添加进去,对吧?这三条的一个默认开发环境的一个 路径就是这里,对吧?第一个我们看一下啊,这个叫做啊 program, 因为我我我这里面我设置成了 program 啊,对啊,我们来看一下我们这个 c 盘下面的这个 program five 啊,然后找到那个三,我这里现在已经装完了,同学们的话 来把这一个就直接安装进去就行了。我们找到那个三,这是一他的一个跟目录,这个跟目录用来什么用呢?大家看到啊,这下面我们有有几个 conder 啊?一个是 conder, 我们会可以配置的时候用到,一个是 passon passnw, 对吧?这是进行两个变异器啊,对吧? 会用到的啊,会用到的,所以我们这个作为一个跟目录啊,跟目录,那么这样一设置之后呢,我们就可以知道了,我们这个拍摄啊,他的一个是几点几,你就可以查了,我们到 cmd 当中输入啊,运行啊,这个运行是怎么出来的? windows 键加上 r, windows 键加上 r, 然后输入这个 cmd 完了之后我们就可以啊使用这个威亚派森,威亚派森 pythln 啊, pythln, 我们可以看一下我们的这个开发环境啊,拍摄的所在的一个目录,他就在这个目录段,如果你配置正确,这一步配置正确,那你他会就可以输入这个 vipac 命令的时候呢,就可以看到我们的这个啊,最终的一个 拍摄的一个配置的目录,对吧?呃,输入,我要拍摄啊,找 到这个,呃,可以可以找到呢,我们把这个手手动配置写在这里啊,后后面补充一下哈, 手工搭建啊,我们速度加快。手工搭建的话呢,是找到是,呃,可以把我们我们先这样子啊,把这三步给复制下来啊,将这一个啊这一个双击好了,复制 手工搭建,手工搭建的话呢,我们将这这这这这这这这这,嗯, ppt 呢啊,这是手工搭建,在 pass p a t h 在 pass, 环境 啊,变量啊,在 pass, 呃,这个这个变量属性中增加如下啊,增加如下 一条啊,这个,嗯, c 盘啊,能看到三啊, ok, 这第一条,第二条呢?实际上就是这个目录下面嘛,还是这个目录下面嘛?这个是库瑞不对,对吧?第三个就是这个目录下面的这个 并文件夹啊,那么这个就是康的里面的自带的一些东西啊,可以进行使用的啊,然后这个是呃很多大家可以去看一下这个地方不再磨一举了啊。呃这个环境我们这个地方给大家打 稍微点击进去讲一下可以其实可以讲很多对我们由于时间关系啊就很快了啊给大家过掉了 什么让他看到让他看到的一些东西对吧?哎有很多看到的一些命令啊然后呢是还有一个呢叫做 library 啊这下面有一个 library 啊我们看一下啊 library 的我们这个病病对吧这个病 library 这个病也是很有用的啊这里面有很多啊你看有很多的一些呃呃 有些开发工具啊这东西啊包括你一些 h 五什么什么什么的对吧这些东西啊你都要能够列的出来你看这里我的 qt 五什么的也在这里啊我这里就不多说了啊好了那么呃搭建完成后 搭建完成后啊呃调出这个 cmd 命令啊调出 cmd 命令输入 vipacin 啊找 应该可以找到拍摄的目录对吧啊这是第一个第二个呢我们就需要做一步的是什么呢我们需要做一步就是呃比如说康的康的啊 con 啊康康德吧康德 list 是不是啊我们输入这个康德 list 就就可以将我们的这个 所有的命所有的命令啊他就可以把它列出来就意味着你就安装成功了啊啊如果说能够这两条命令能够正常显示 就可以就代表你安装成功了输入这个 condit list 可以列出所有的啊 and condom 命令 and condo 啊命令 ok 那么这这就意味着搭建成功啊此时 意味着安安乐康的 搭建成功哦, ok, 第一个环境变量搭建成功了,第二个的话呢,我们就是 pyqt 五的搭建 pyqt 五特别简单,我们在使用的时候我们直接就在这里面接下去一步啊,第一步我们成功之后我们再进行第二步,第二步我们使用什么呢? pip pip install 啊,安装什么呢? p y q t 五,使用这项命令 pip install p y q t 五回车,因为我这里安装完成了,所以他直接是 require 什么什么,已经已经满足了这样一个需求,安装完成之后他会在哪个目录下面呢? 上面然后有个 l i b 对吧?嗯? l i b 什么?赛特派克特对吧?啊,在这样一个目录下面啊,赛特派克特下面,他会安装在这里啊,会安装在这里啊, ok, 那么这个地方我们就输入这条命令啊,输入这条命令 啊,这个呢?呃,这个下载这个叫做这个需要环境网的网络的啊,下载 p y q t 五这个酷环境, ok, 使用命令什么呢?使用命令这个啊, 对吧?就可以了啊,如果后面出现最后出现这个 succe successful es successful successful 啊,代表成功 安装成功, ok, 那么像我这种情况就代表是已经安,已经有了啊,就已经有了,安装完成之后他会在这样一个路径下面啊,好的,那么我们再接下去来看到啊,呃,如果说我们这些东西都花钱都好了,那么我们来进行 qt 点赞 no 的一个设置啊, qt 点赞 no 的一个设置,特别的简单,大家只需要按照按照老刘的这个官方网站啊,这个编程创造城市啊,请到这个编程创造城市点 com, 这个当中我也有一期博客给大家写好了啊,在哪里呢?在这个叫做 passion 可视化环境搭建, pyqt 五的 一个环境的搭建, ok, 我们直接点击去看看,然后呢就可以直接按照这个步骤就可以了,我们看一下第一步搭建的是这个 q t 点三个,我们按照这三个三数意思复制进去就行了啊。第一个比如说举个例子, q t 点三个,对吧? q t 点三个,配置好了,我们直接来找到这个啊,找到这个 打开这个环境,接下去就可以进行配置了,到这个默认设置默认设置,然后找到这个托尔工具当中有一个什么康哎 xq xtina 这个工具,然后呢我们在这个地方,就因为我这里现在是没有,有了吗?对吧?我们这直接点打开编辑好了,你在这里的话, 大家的话应该这个地方点开一个这个新增, 然后形成第二个,对吧?然后呢我们就把这个名字,这个名称是需要自己输 输入的啊,我们 qt 点三个是我自己输入的啊,大家直接输入这个名称。第一第一步你看这个,呃,这个名称是简单的 qq 点三个啊,这两个自己输入,输入进去之后。第二, 这这个可以不输入啊,这个名称一定要输入啊,那么这个路径的话呢?如果说你跟我的路径一样,你就直接把这个东西复制进去就行了, 如果你跟我刚刚安装的路径一样复制进去就行了,如果不一样,你可以自己在这个地方点击这个文件夹,找到你的这个点赞哦,这个点赞哦,在哪里呢?就在这个。嗯呢,看到三,大家看一下啊,在这个我们 c 盘安装的。嗯呢,看到三下面的 library 下面的一个 b i n 命令,对吧? bing 命令,所以我们要把这个 目录要给他增加进来,因为我们要呃,这个这个环境当中边一定要需要的啊,对吧?点三个把它怎么样?把这个点三个,然后给他加进来就可以了,选择他点三个,点一 x 一点三个,点一个 c 这个参数没有第三个参数,我们选择的是大家可以打进去啊, project 发摇的,或者是你可以在这个地方点击这,点击这里啊,点击这里,点击,点击旁边,点击旁边就可以了啊, 然后选择我们需要的这个环境就行了。好了,那么再接下去我们把它关关掉啊,关关掉,接下去一个参数配置也是一样的 pyuic, 然后呢?这一个是一个康的 啊,这一个配置的是什么呢?大家看一下啊。后面这个 pyui 系的配置啊。第一个大家把这个参数录进,直接复制进去就行了啊,跟我一样的一个配置的话,你就直接复制进去,然后第二个参数也是一样,跟我一样 复制进去就行了啊,复制进去就行了,如果不复制进去,你可以自己敲一下,也可以去理解,对吧?第三个目录的话就是这个 ok, 配置完成之后的话,你就自己可以在这里右键新键 一个。什么我们明天要讲的东西啊,右键新建啊也。右键不是新建啊,右键这个 xtoner, 然后托,然后打开这个 qt。 第三个可以进行设置啊,你自自己来可以测试一下,对吧?啊?比如说你创建一个东西,创建完成之后,我们这里面随便拖拽一个啊,比如说随便拖拽一个这个东西啊, 然后我们再保存,保存的时候大家要注意啊,要保存到你的项目跟目录啊,你自己创建的这个项目跟目录,对吧?比如说我们这个地方是,哎哎, 好, a aa, ok, 保存保存完了之后,我们这里是不是多了个 aa, 然后此时在右键右键这个 xtoner, 然后呢是 pyuic, 对吧?好,他就会生成这样一个文件,生成这样一个文件, 然后呢再进行钓鱼就行了,钓鱼的代码的话呢,大家想要把它显示出来,大家就把这一串给抄一下就可以了啊,把这一串给抄一下啊,就差不多的, 对吧?啊,那当然,你这个泰斯的改成 aaa 啊,因为我这里是泰斯的嘛。啊,这里的话你出现了这个泰斯的呃, 就这个 pass 改成 aa 就行了,其他都一样,对吧是吧?其他都一样。这个地方也是 taste 啊,改成 aa, 那么这样的话你就可以使那程序就跑起来了。明天的话我们从这个地方继续给大家细细的去品味一下我们这个呃环境搭建之后的我们这个呃一个转换啊,那么今天我们稍微来总结一下啊, 啊 pyc 的一个设置以及啊点赞额的一个设置啊,一个以及点 pyc 的一个设置啊,我们把它稍微复制一下好了啊, 稍微复制一下,很快很快啊,缓解时间关系啊,我们这个地方就就很快就给他复制过来了,这个是之前做过的工作啊,好了,是给给大家呢,也看起来稍微方便, 对吧? ok, 最后我们来总结一下,总结一下我们今天学习学习到的东西啊,首先就是一个啊,一个安德康的三康的安德,安德康的三环境的配置 搭建,对吧?第二个我们来看一下啊,就是 p y q t 五的环境的搭建啊,搭建。 ok, 最后的话呢,就是 最后有一个什么呢?最后有一个就是这个,这个叫做什么呢?把 py 串中啊, 呃, pyqm 当中建立啊,建立建立以上两个,两个扩展环境,对啊,扩展环境, 扩展环境。 ok, 这样子我们就给他完成了。啊啊,也是比较这么几步,其实也就这么几步啊,大家可以试一下啊。好了,呃,肯定是按照我的步骤来做,肯定是可以成功的。好,呃,那么我们今天的教程呢,就是这些啊,如果说大家感觉我的教程对你还比较有所帮助啊, 欢迎继续订阅关注,为我点赞。好了啊,我们拍摄的高级课程就会从今天这节课开始,大家回去进行演练吧,刘军变身编程创造城市,小伙伴们,那我们下期再见,拜拜。

我是黑猫,本节我们来讲一下 pyqt 五创建第一个窗口,我们呢使用两种思想,一种呢是面向过程的变成思想,另一种呢是面向对象的变成思想,那么当我们使用面向对象变成思想的时候,我们呢就可以很方便的把我们的 ui 文件直接呢转化成拍摄的文件, 那么自动转换之后呢,那这个呢就是一个类,然后呢我们之后就可以使用啊这种继承的这种面向对象的思想来进行后面的编程。那么下面呢我们再来看一下 p y q t 五的这样一些模块。 p y q t 五呢是由很多个啊这个类还有函数来组成的啊,那我们呢下面呢啊主要是学习这三个模块,一个是 q t core 啊,也就是核心,那这里的模块呢,它是包含了这个非 g u i 的功能设计,那就是没有这个界面,然后呢都是一些比如说文件,文件夹,时间数据流的这样一些操作啊,还有进程和线程。 那么 q t g u i 呢,就是用来处理啊我们的这个界面的,比如说窗口系统时间处理这个图像啊,然后呢还有绘画字体和文字, 然后呢还有这个叫做这个叫 qt veges, 它呢是包含着一系列创建桌面应用的 ui 元素, 这里呢就可以理解为一些组件啊,桌面的一些组件,然后呢还有很多呢其他的这些模块,我们呢只需要简单的了解一下,那后面呢我们之后用到的时候啊,再来进行学习,比如说 q t 这个叫毛 t 眉点啊,也就是多媒体, 那也就是操作一些摄像头等其他功能,然后这个呢很显然 bluetooth 啊,这是蓝牙的设备。好,然后呢是计算机网络好,接下来呢还有 protein position 啊, position 啊,这个呢就是位置, 然后呢下面呢我们就只需要简单的看一下啊,有一个印象,这里呢这些呢列出来的就是 q t 啊,它这个主要的这个功能模块。 好,那这些模块呢,我们呢大概了解过之后,那接下来呢,我们就开始进行啊,这个 p y q t 的一个编程。好,然后呢我们来进入到我们的 p y 叉。 好,这个呢我们叫它,呃,面向过程编程啊,或者说我们叫它 test 零一吧, test 零一, 然后呢我们呢需要 import 啊,先导入这个系统模块,之后呢会用到。好,然后呢呃,我们呢创建这个桌面的啊,那我们呢就使用这个 curity mages 这样一个库。 好,我们呢 from 啊 p y q t 五点儿,然后呢 q t v g 啊,这里呢是包含了各种桌面应用的这样一些元素,然后呢导 导入呢? q application, 然后呢还有 q vigid, 那么这个模块呢,现在呢就已经导进来了,然后呢我们创建这样一个应用的对象 application。 好, q application, 然后呢这里呢是我们的命令行的参数列表, s y s 点 a r g v。 好,那这里呢就是默认的第一个参数,那就是这个程序本身的这样一个路径,把它给传进去。 好,然后呢接下来呢就是创建窗口啊,这里呢我写一下注释, 这两步,看一下叫创建窗口啊,因为框架呢已经封装好了啊,比如说我们的窗口呢叫 window。 好,我们呢直接使用这个 q v g 进行创建,然后上面呢也给他写一个注释啊,创建应用对象。 好,那这里呢,窗口创建完之后呢,我们呢可以给这个窗口呢设置一些,比如说大小啊啊,或者是位置。 呃,然后呢,接下来呢,我们让这个显示窗口先把它显示出来,先用默认的叫显示窗口啊,那就使用 window 点儿瘦。 好,然后呢接下来呢?呃,进入到主循环当中 啊,就是防止这个窗 创建完之后呢,直接退出了啊,这叫应用主循环啊,然后呢我们现在呢,现在运行一下看一看, 运行完就结束了。然后呢进入主循环呢,就是 s y s 点 exit 啊,退出。然后呢 a p p 点啊, e x e c 当然了要加一个下划线。 好,现在呢这个窗口呢就已经出来了,默认呢就是这样一个窗口。好,接下来呢,我们可以啊改变一下它的这个大小啊, window 点 reside 啊,改变大小 啊,比如说六百四百。好,然后呢接下来呢,给他移动到一个位置,相对于我们 这个屏幕的左上角就是零零进行偏移啊。 window 点目,我们开始进行移动,大概在我这写个三百,三百的位置啊,移动完之后呢,接下来呢,再给他设置一个标题啊, window 点 set title, 这叫 set middle title, 设置标题好,黑猫编程 p y q t 五 叫系列教程。 好,然后呢我们就运行一下。好,这里呢就是我们的这个标题。好,嗯,然后呢还有呢, 比如说其他的一些,比如说我们还可以呢啊,设置这个图标等等,在 window 上图标可以显示,但是麦克上图标显示呢,有一些问题,这里呢我就不再展示它了。然后呢,这就是我们的面向过程的编程 啊,写个注释。 p y q t 五啊,第一个窗口程序啊,当然呢,目前的窗口程序呢,我们都是使用我们的纯代码编程 啊,这里呢,我们需要要掌握一下这个基础的知识。呃,然后呢,这里是面向过程的编程思想, 面向过程啊,编程 好,然后接下来呢,我们使用面向对象,面向对象的话呢,我们呢,先来创建这样一个这样一个头文件吧,叫类。呃,这个呢,叫做 kite, 我的 u i 叫 kite u i, 当然了,它是个 python 文件。 p y q t 五的第一个窗口程序啊,这个是面向对向 啊,变成四项。呃,然后呢,这个还是一个 u i 啊 u i 界面儿类啊,那么如何创建这样一个 界面呢?呃,这里呢,我们还是要导入一些内容啊,我们呢,这样 from t y q t 五点儿 q wigis 啊,然后呢,去导入 q visit。 导入完之后啊,我们呢,就创建这样的一个啊,创建这样一个类, 创建一个窗口类, 那这个类的名字呢?我叫它 class, 叫黑猫的窗口,叫猫的窗口啊,呃,然后呢, 但是呢,它要继承 q v g, 这是使用面向对象的这样一种思想啊,然后呢,初始化 in it。 然后呢,这里呢,我们首先要调用这个,因为我是继承,我先调用副类的啊, super 点 uni。 然后呢,下面呢,我再来写上一个自定义的 d e f 啊,我的 uni 它 u i 啊,这里呢,先 pass 掉 好,然后我们再写上面的。呃,副类的构造函数已经有了。之后呢,我们再来调用自己的,因为自动会执行啊,叫 unit ui, 这下面是默认的,他说他有一个这个使用啊,这个 unit ui 呢,也已经有了,有了之后呢,我们就 set up 点 这里,大家可以看到,其实呢, self 就是拿到我的这个 window 对象了,呃,然后呢, self 点 reset 啊,比如说六百和四百, 好,然后呢, self 点目,我要移动,移动到三百,三百,好,然后呢,这个叫 self 点 set size window title。 之前呢,这是一种面向,对啊,面向过程的编程思想,现在呢是面向对向,然后把它抄过来。 好, 那么在这个里面呢,这里呢,我们思考一下,其实呢,这个 cure vigid 好,它是继承的,然后呢,这里的 self 呢,就是我们之前的啊,这样的一个 window, 这样一个对象。好,然后呢,接下来呢,还有 self 点瘦,我们再把它写成。 好,那这里呢就 ok 了啊, ok 了之后呢,接下来我们还有主窗口程序来调用它,那这个呢,叫做叫做 men window 啊,这叫主窗口 门 window 呢,它是 from 啊, cat ui, 然后呢 import。 这里呢,我们来看一下导入呢,这个叫 ui 文件,但是我要导入的是这个窗口啊,导入一下这个开头运动好,黑猫的窗口, 然后呢,接下来这两段呢,也要倒进来。 好,那么这个 cure vigit 呢,就不用了啊, cure vigit 呢?其实我导入了这个以后,开的 window 啊,就已经有了,这里的 cure vigit 就已经导进来了。好,然后呢,接下来呢,我们创建一个调用窗口的方法。 好,那我们定义一个,比如说打开啊, open cat 运动 好,然后呢,这里呢,就是 a p p 等于 q opplication 啊,先把它写上 s v s 点 a r g v, 好,创建这样一个应用对象, 然后呢,我们如何去创建我们的这个?呃,第一个这样一个窗口呢? 好,那就是 window 啊,它等于什么啊?我们之前的累啊,叫什么名字呢?叫做 kite window, 我把它给写上。好,这样的话就已经创建出来了这样一个对象。 好,那这个对象呢?本身就是什么?当我创建完这个对象的时候,其实大家可以考虑一下我们这里的 cf, 其实就是我们这个对象本身。好,这样的话我们就顺理成章了,就可以往下写了, 主持一下, tight window 里面的 self 就是当前的 w 对对象。 好,那这里呢,是创建完,创建完之后呢?接下来呢,还是设置一下进入主循环啊, e s i t 啊,也就是说这一部分呢? 我们呢,没有就是说啊,一步步学习,这里呢只是说在类里面啊,自动的,他就已经给我们在 in 的初始化里面就已经把这里面的内容自动执行了,因为 in 他里面呢调用了这个叫 saf。 点 这个 unit ui, 这里呢,我们来看一下啊,就是 unit ui, 它已经调用了。 好,那我们呢,再回到这个闷 window。 好,然后呢,接下来呢,就是 这样,如果是主程序的话呢,就是这样,如果 if name, 如果是主程序 name 呢,就是等于这个 name。 好,如果这样的话,我们就 open 这个 kite 运动,然后呢,我们再来运 进行一下,哎,他发现呢是报了错误,我们来找一找 啊,这叫 s y s 一个字, a p p 点 e x e c 这里参数呢,没有写,因为发现它直接退出了,就是有问题的啊。黑猫黑猫编程 p y q t 五系列教程 好,或者说呢,我们现在可以改个名字, 面向过程好, 然后呢下面这个呢?为了和他啊,这保存一下,这个呢?为了哈,为了和他做一个区分啊,在开的 ui 这里啊, 给他来一个面相对象。 好,然后呢再来运行一下。好,那我们本节课的内容呢,就先到这里。

哈喽,小伙伴大家好,欢迎收看刘静编程拍摄高级进阶教程第三期 pyqt 五以及这个于 qt 点赞有的一个对照分析啊,那么我觉得这样一节课程的话呢,对于我们刚开始来学习这个 啊 p y q t 五的话呢,我们应该来说是非常有必要的啊,因为我们有些小伙伴在开始做的时候,实际上就不知道如何把这个 p y q t 五,也就是说这个 q t 的设计的这个环节与我们的这个呃 q t 五 这个 pyqt 五这个代码相对照哎,这里设计的东西跟我们那边的这个代码到底有什么样的关系啊?这一层理解的话是非常非常有必要的啊,那么之前的话我们已经给大家讲过了,我们这个呃如何来搭建 这一个啊?用 py trump 对吧?以及 pyqt 五再加再加上 pyuic 啊,这个实际上就是 pyqt 五啊拍死的一个变异器对吧?当中利用的是 pyqt 五的一个变异模块来将我们的这个 qt 点三个啊,也是这个 qt 的这个界面设计的 ui 编意城,这个什么 py 文件啊, ui 文件编意成 p, 哎,其实说实话应该是一个转换成 py 文件对吧?那么这样一个过程转换过去的代码对应啊,我觉得我们还是非常有必要啊,把它具体其细节分析。那么上一节课的话呢,我们仅仅只是对 qt 五啊做一个简单的了解,然后呢,我们做了一个纯代码的一个分析,对吧?那么我们来了解到的是呃 pyqt 五的一个可视化界面环境 搭建,这是我们之前所学到的啊,然后我们上一节课的话,我们简单的写了一个,这个用 py qt 五啊,呃,写了一个这个代码,这个代码是什么样的代码呢?就是一个 ui 的代码啊,也就说是界面啊,做一个界面 啊,这相比我们之前的这个 tk 啊,来写这个界面,实际上大家看看啊, tk 的话,我们导入的是 tk 的库,对吧?而我们现在写的是 pyqt 五的这样一个界面的话呢,我们导入的是这个 pyqt 五的这个库啊,无非就是导入的库不一样。 然后完了之后呢,我们这个 pyqt 五的话呢,它的功能的话更加的强大啊,因为我们这个 py 啊,它的发展历史应该来说是非常的早啊,可能好像我印象当中可能比加我还要早,所以啊,它的这个 qt 的一个发 qt 的这个发展啊,它的这个底层的这个 c 加加的库啊,实际上是 很早很早的,对吧?他就已经积累起来了。那么 c 家的这个这个库啊, q t 五大家可能还不太清楚啊,他这个 q t 五的这个库啊,他不仅是基于这个,哎,有有应对于这个拍摄啊,拍摄的话我们现在知道啊,一处编影也是处处编影,对吧?也处处都可以使用啊,它是一个解释型的一个代码啊, 那么他可以在苹果平台上面去用啊,可以在我们的这个呃 u 啊啊,这个什么 windows 平台上面去用啊,也可以在我们的其他的 mac 电脑上面去用啊,这些都可以去用。那么这个 pyqt 五的话呢,实践就是这针对于我们的 呃, qt, 针对于我们的这个什么拍摄的这样一个代码来进行翻译的这么一个库,当然啊,既然有针对于拍摄的代码了啊,所以我们的 qt 啊,同样的还有针对于贾瓦的代码,对吧?将我们的界面设计成 是吧?加我的变成加我的东西,对吧?然后呢我们再加我,再进行加我,设计完成之后,我们就可以再进行什么呃,具体的代码一些操作怎么样?这是界界面的一个设计啊, ok, 也就是说我们这个 qt 啊,实际上大大的对我们的这个可视化界面啊的这个设计啊,应该是取到了非常大的帮助啊,他有很多很多的空间去可以简化我们的这个分析啊,简化我们的设计,对吧? 通过我们前面的这几集的代码的话呢,已经给大家了解到了我们这个界面该如何去设计的啊,以及他旁边包含了一大圈的这样一个呃,这个这个呃叫做什么 一大圈的,这这这这这这这空间对吧?这空间他都已经做好的啊,那么我们直接使用就行了,接下去的我们的这些时间的话呢,就是要针对这些空间啊,慢慢慢慢的一个个去进行解析 啊,那么我们呃之前的话,我们知道简单了解过这个 pyc 啊,是怎样去转换成拍神的代码的啊?通过这个拍神的一个呃,拍神拍神编辑器去调用我们这个 pyqt 五的一个代码 啊,一个一个模块啊,来进行转换的,对不对? ok, 那么我们首先我们今天要了解到这个对照分析的时候啊,我们这不是要将这个 pyqt 五的这个代码于 第三个这个代码进行对照分析嘛,对吧?我们如何来进行对照分析呢?我们在对照分析之前,我们先来了解一下一个空的这一个 q t 五的这个 啊,这个界面设计的这个程序对应到我们 qt 五的 piqt 五的这个代码到底是怎么样的,哎,这是非常有必要的,我们要,哎,我们来了解一下这个空的代码到底是怎么样的啊,以及我们这个通过手工去 编写纯代码的这个方式啊,是怎么样的,对不对?我们上一节课的话,已经通过写了第一个这个 pyqt 五的程序,对吧?我们通过利用这个 vigit 啊,利利用这个 vigit 啊 q placation 的话,就是一个进程,这个程序的一个进程,对吧?那么我们呃来写了一个 q vigit 啊, vigit 也就是说是空间啊,这空间的话,窗体里也是可以继承这样一个空间的,对吧?那么 我们来对我们的这个手工纯代码的方式就可以有一个, 呃,写出来这个 gui 的一个界面啊,这是一个空的一个程序,这是我们上节课写的啊,当然还有一种方式就是我们通过这个 qt 点三个啊,这样一个设计来针对性的自己可视化的一个界面规划,对吧?哎,出来的一个界面啊,这个 的话出来之后就是一个类啊,这是我们之前也是了解到的啊,那么我们呃需要这里需要的是要理解啊,我们这个 q t 点三啊, q t v 啊,它是一个基于所有空间的这个积累啊,它是包含窗体、空间按钮、文本等等的这样一个 一个积累啊,这个积累是什么意思呢?其实就是负累对吧?他是包含某个窗体的对吧? ok, 那么我们今天啊,马上来制作一个空的窗体的程序的样子啊,我们通过 qt 点三个的方式来进行制作啊,我们来看一下,有的小伙伴肯定啊,已经在之前的工作当中啊,已经已经啊,已经就是了解到了,对吧?你这个怎么去做啊?那么我们先把这个上一个程序给删删掉,我们重新来制作这样一个界面啊,好了,那么我们来看一下, 这一次我们是第三期啊,我们来制作一个第三期的这个 qd, 第三个, ok, 我们来进行设计啊,设计的话呢,我们有两处,第一处我们是从这个项目地方右键,对吧?然后找到什么就找到这个, 哎, external tours 啊,一个地方啊,然后找到 qd 第三个,对吧? qq 第三个另外一个地方啊,还有一个地方就是在这上面啊,工具栏 托尔攻击栏,托尔攻击栏,这个攻击栏这里呢,有一个叫做 external 啊, torse, 对吧? qt 点三个啊, 那么小伙伴们我们现在的话呢,我个人觉得我们在编写这个 py charm, 在使用的时候呢,我们进来已经进阶到啊,慢慢慢慢从零基础啊,慢慢进阶到高级,到进阶到高级的时候呢,有的小伙伴目前,呃为止可能还在用这个中文,对吧?中文的这个呃,编辑 一起啊,中文的这个开发环境,实际上啊,大家要知道啊,用来用去是这几个英文单词,对吧?所以我建议你也不需要再去把它翻译成中文,当然你也你也可以把它翻译翻译成中文,对吧?当你配置完成之后,也可以把我们之前的这个 教程当中把这个点 b ak 这个扩展名给去掉,我们就可以把这个资源文件变成中文了啊,那么我个人建议的话呢,实际上没有必要再去把它变成哎,中文啊,我们就用英文的开发界面就可以了啊。 ok, 那么这个时候我们来打开它之后,我们发现啊, 我们现在来新建一个设计师的界面,对吧?这是 qt 第三个啊,大家看到啊,我为什么说 qt 第三个啊?实际上是他这个地方是这样的, qt 第三个啊, qt 设计师有个翻译对不对?有个翻译的啊。好了,那么我们来看到我们这个地方的话,有很多的选项, 大家看一下啊,这个选项是一个模板,大家看到没有?左侧的话呢?是就是一个模板啊,风啊,然后 dialogue with 什么? buttons buttons, bottom 是什么意思啊?就是有几个按钮在这下面啊,就是右侧显示出来的一个效果,我们看第二个啊, 呃, dialogue with buttons right 啊,就是在右侧对不对?在右侧的一个按钮, ok, dialogue result buttons, 也就是一个 dialogue 啊, dialog 什么意思啊?是没有我们这个 怎么这个这个这东西的啊,就是没有这种,没有这个这个,呃,这个放大缩小这个东西的,对不对?放大缩小的这样一个按钮的啊, 那么这就是大老哥。我们这呃眼前的这个东西其实也是一个大老哥,对吧?也可以自首,也可以说是一个大老哥啊。好,那么我们下面的话呢,有个叫做 man man window 啊, 门温度,这个门温度的话呢,我们是上节课给大家有用到啊,这个门温度他有什么样的好处呢?他有自带的一些菜单栏,有自带的一些,比如说是,嗯,排序,对吧?比如说中间的一个结构啊,那么这个地方实际上是对我们的 vigit 这个,呃,这个这个空间啊,它的一个 v 九的这个积累的空间,一个一个一个叫做什么?重写啊?重写,他重写了很多个功能,也就是说我们日常的在开发的时候,我们可能更多的会去使用这个 man window 啊,因为利用 man window 的话呢,我们就会 可以有一些就是说他已经制作好的功能,我们就可以直接去使用了啊,这个就是没有 window 的一个好处,对吧?没有 window 的一个好处,那么最根本的还是这个啊, vigit w i d g e t。 啊, vigit w i d g e t。 啊,这个 vigit 又来什么用?这个 vigit 就是一个最基础的一个模板啊,最基础的一个积累,他的一个窗体空间啊,他的一个窗体空间,或者是我们其他的按钮空间,实际上也是积累是继承于他的啊。那么我们右侧的这个地方, 呃,我们的这个界面大小的话,我们他其实有这个啊, q v g a 啊, q v g a 以及 v g a 的一个这个其实是用在哪里的呢? 这些的,呃,方式的话,实际上是它是用在一些那个呃小的,小的设备的啊,就是小的一些平板啊,小的一些, 嗯,这种这种可可嵌入式的设备啊,因为我们 qt 的话,我们杰克 c 加加,我们会做一些嵌入式的开发,会比较多,那么我们这个地方呢,屏幕大小我们使用默认大小。好了,因为我们做的是桌面单的程序啊,桌面单的程序我们可以完全可以用这个默认大小啊, ok, 那么我们此时来 来创建一下,选完之后我们创建一个,创建一个,我们此时的话,他这个地方显示了一个 phone, 也就是创体,对吧?创体创建名称是,呃,昂昂抬头,昂昂抬头的也是还没有被命名啊,我们此时可以命个名保存一下,点击保存, 双体另存,为什么呢?双体就另存,我们这个 ljy 要死。好了啊,我们这个地方另存,为什么呢?我们就另存为,比如说是 alj, 呃,这个叫做 aljy, test 零零三, ok, 就 test 零零三,零零三,好了啊, 了解 ui, test 零零三, ok, 这时候我们就是怎么样?这是一个 ui 窗口,大家看到没有,这是一个 ui 啊, ui, ui 是什么?一个意思啊,这个 ui 其实就是啊,就我们就是一个设计界面嘛,对吧?此时保存就 ok 了,对吧?点击保存。哦, 好了,那么刚刚讲到了一点啊,就是重要的一点就是 q v j, 这个地方是非常重要的啊,这个地方 q 啊,其实都是大写的啊, q v j t, 对吧? q v j, 这个 q 是大写的,大家注意啊,这个地方,呃,在拍摄当中,我们这我们的这个 大小写是非常有区分的,对吧?包括我们 c c 家家啊,包括我们的这个加了啊, c 十二,这些大小写都是有区分的,所以大家呀,在编写代码的时候一定要注意这个大小写的关系啊,大小写的关系, ok, 那么 我们这个地方我们来继续看下去啊,我们现在是一个空的吧,对不对?现在是不是空的窗体啊,空的窗体的大小,我们可以来看一下这个属性啊, 四百乘三百啊的这样一个大小,默认是四百乘三百,我们看到这个属性啊 的一个属性,就是他的专门处理的话,他里面分成 x y 以及这个啊,以及这个宽高,对吧? xy 是指这个从左上角开始的啊,左上角就是说屏幕的左上角,在这个最底方啊,这个地方,屏幕的左上角,这窗体的左上角,这个左上角,我们就是 xy, xy 从零零开始啊,最左上角是一个啊,大家看到没有,我鼠标锁锁点的这个地方左上角是一个零零啊,零零,当我们屏幕的左侧啊,我们就是屏幕的这个水平方向的,就是 x 啊, x x 就有这么多,对不对啊?屏幕的垂直方向啊,就是 y 啊,屏幕的垂直方向就是 y, 那么他的呃, xy 就是这样子来看的啊, xy 就是这样来看的,然后呢,也就是说我的这个窗体啊,待会启动的时候,他会在我们的这个零零 这个点,然后呢,他窗体的宽高就是啊,宽高就是四,宽是四百,高是三百,这是他默认的一个情况啊,绝美区域啊,那么我们把这一个其实可以记一笔啊,那么 在我们的这个什么 q t 设计 t q t 点三个啊,第一 s i g n e 啊,在我们的 q t 点三个啊 啊,设计师界面,设计师界面,我们的看他的属性啊,这个绝美垂这个属性是非常有必要去认识的啊,绝美垂直属性,我们来看一下,呃绝美垂直属性啊, 啊 g e o m e t y 啊,这么去属性,那么这个属性的 x 代表代表啊,代表啊 啊,窗体出现这个叫做出现的位置啊,位置是在啊这个屏幕啊屏幕的左上角,我们看看啊,是不是这样啊,左上角,我们待会来看一下啊啊 y 的话呢,我们啊代表 窗体哎,左上角水平方向的零的位置左上角水平方向方向的零的 啊,零零的位置啊,我们其实这个在以前的这个 vb 的基础的界面啊,就是可视化桌面的开发的时候我们就已经给大家讲到了什么,就已经讲到了我们这个屏幕左上角这个位置其实就是零零,对吧?啊,或者我们一些相对的 一些窗体的一些情况,屏幕啊或者相对窗体的左上角一半也是零零啊,那么窗体出现啊,呃出现的位置是在屏幕左 啊,上脚垂直方向外的话是垂直方向对吧?垂直方向哎方向的 零的位置啊,零的位置, ok, 那么下面还有一个宽高对吧啊默认宽度四百啊,像素啊,这个地方单位应该是属于像素啊,像素 啊,四百啊,那么高度默认高度啊,默认高度是多少?三百,对吧?三百,那么我们来看一下啊,是否是这样子啊,是否是这样子, ok, 我们保留一个空的创体啊,我们把它关闭掉,关闭掉以后我们回到拍全,我们看到这个地方我们刚刚保存的是 ljyt 四零零三,对吧?我们现在来生成一下啊,通过 py iq ipyuic 来生成,对吧?我们点击这个工具啊或工具,然后呢点击这个 xtoner, 然后再点击这个 pyuic, 对不对?此时我们就可以生成同名文件的 py 文件啊,我们来看一下,右键点击生成哦,已经生成了,对吧?大家看到了,呃,他的一个变化,对不对?相同文件名称的一个 啊,扩展名是不一样的,点 py 对吧? py 文件啊,我们上现在双击打开它啊,双击打开它,那么这个的话呢,是我们其实在之前编意的时候为什么是相同名称啊?因为我们在这个地方设置的时候是相同的,大家还是要复习一笔啊。这个地方我们来看一下,呃, pyus 是不是我们用它来进行变异的,因为它毕竟变异的时候我们采用的是拍神变异器啊,拍神变异器,拍神变异器的时候我们调用,首先 m m 是不是猫斗,对不对?我们可以理解成猫斗,我们来调用的是一个模块啊,拍神,首先是拍神变异器啊,拍神变异器,然后我们调用的是, 哎,这个地方其实也可以说是他的一个是解释器啊,解释器对不对?那么我们然后呢就是调用一个模块啊,一个参数,参数是模块的名称 py qt 五下面的 uic 下面的 pyuic, 对吧? 我们将当前文件的名称,也就是发由内当前文件名名称转换成什么呢?目标,哦不就对不对?转换成目标文件是什么呢?杠杠欧,目标文件文件名称 without external, 因为默认的话呢,是 我们是有这个哎 x 腾讯默认情况下,我们这个文件的话,他是有一个这个 u u i 的一个扩展名,对吧?我们转换过来的文件名称是不要让他有有有这个什么扩展名为 ui 的啊, ui 扩展名就不要,所以我们这个地方叫做 without without 什么呢? extent extension 对吧? without extension 啊, without extension。 那么我们后面的话呢,再加上自己手工连接了一个点 py 啊,这是一个他的一个呃叫做什么扩展名啊?手工连接的对吧?手工连接的好,我们现在回到这里,我们刚刚给大家内串命令啊,做了一个简单的解析啊, 那么我们把这串魅力简单解析的话呢,还是写一下啊,因为我们之前好像是没有给大家去去续写过啊。 补充一下,补充命令解析啊。呃,补充,呃充这个什么 p y p y u i c 命令解析 啊,命令解析, ok, 那么我们来看一下,把这一串拿过来,对吧?呃,那么使用这个 python 啊,点 x e 啊,解释器,解释器,然后呢? 呃对吧?呃,这个地方我们就是来说明一下,说明的是什么呢?杠 m 啊,表示 model 调用 某个模块啊,某个模块啊,叫什么模块呢?就是调用的是 pyqt 五下面的 pyuic 模块对吧? pyu 的 uic 模块啊。 啊,这里啊表示什么呢?吊用,吊用 啊,这个模块,对吧?这个模块,那这个模块的话呢,也是我们自己已经下载过的啊,在我们相应的包文件里面,我们是不是之前有这个呃,通过 pip install 然后 pyqt five, 对不对?这样一条命令就可以把它 下载下来,并且进行安装,然后呢我们这个地方杠欧就表示目标文件啊,杠欧啊欧表示啊,目标啊,生成,生成目标, 生成目标文件啊,目标文件。那么呃,这里,呃使用什么呢?使用这个,这个我们 就是表示当前的文件名称啊,这个啊表示,呃,这个文件名称, 这标是什么?什么文件名称呢?就是需要转换的啊,转换的原文件文件名称名称, ok, 那么我们下一条我们来看一下啊杠欧就是表示要生成啊表示, 呃需要生成目标文件,对吧?需要我生成目标文件。那么这里使用这个什么呢?呃相同的文件名称,但不含扩展名啊, 这里使用这个这个表示,哎表示于原文件 相同的啊,余额文件相同的, 哎什么呢?文件名称,但不包含扩展名, 扩展名的目标文件,对吧?那么扩展名什么呢?扩展名,我们扩展名啊,我们通过,哎自己连接连接点 py 啊,那么最终表示, 那么啊最终什么呢?表示什么呢?表示生成的是,嗯,拍森的拍森类型的文件啊文件。那么我们这个 地方呢,给大家还是细细的解说一下啊,是非常有必要的啊,好了,那么大家呢还是要去理解啊,那么我们现在呢就是相同文件文等名称的一个目标的 py 文件,对吧?我们自己来连接的, ok, 我们发现生成的这样一个文件之后,上面的都是一些什么?拍摄当中我们使用这个 啊井号来表示啊,使用这个井号来表示注视,对吧?使用井号来表示注视,那第一行是有作用的啊,第二呢,我们是采用 utf 八编码的形式来进行生成的,对不对? ok, 那么我们来看到啊,这个地方有一个说明啊,就是啊,凤 凤也是,也就说是一个窗体接口,通用的,来自于什么什么,哎,这一个对吧,来自于这个文件的是不是他已经说明了幺九 its 零零三点 ui 的一个,哎,来来 生成的啊,同样的这样一个文件来生成的啊,那么酷瑞的 bi 什么呢? pyqt 五 ui 啊啊,来来,他来创造的啊,他五点一一,三点一,我采用的是这个版本, ok, 那么我们来看一下警告啊,说明一条,我们他这个说明啊,所有的改变。 made in this fire will be lost will be lost will be lost。 这个文件当中啊,我要比老师什么可能,可能会有所啊,生成的这个文件可能会 有所丢失啊,对吧?可能会有所丢失,我也不知道丢失什么东西啊,那的这个东西总归是为了安全起见吧,人家都会去写一句的,对吧,不保证可能生成的东西完全一样啊什么的这种,但是基本上生成都是可以的啊,那么我们主要的呢,还是要看这个地方,这个地方我们上次啊 上一节课程当中已经给大家解释过了,应该来说是解释还是非常详细的啊,那么这个地方首先是调用 from fram 什么酷的名称,对吧? pyqt 五啊, prqt 五,然后呢,导入的是 py, 呃,这个 qt 的一个啊,其实就是导入 qt 的一个核心啊, qt 核心, 这是一个 dll 文件啊, ddll 文件啊,这也是一个,这是这也是一个三个 dl 文件动态链接库的一个啊,类名 啊,那么我们导入的是这三个啊,这三个好,我们可以其实从其实你如果说想要仔细的去看的话呢,你可以去找到你自己的这个呃, pyqt 五的这个文件啊,去对照就行了啊, 那么我们这个地方我们就不继续往下去仔细去看了啊,那么我们来主要是对照我们这个地方后面的这里我们看到啊缝,对不对?首先 他是一个凤啊,凤这个凤其实表示的是一个窗体嘛,对不对?就表示一个窗体啊,但是他这个类的名称首先就生成一个类嘛,对吧?我们上节课是不是给大家讲过生成一个类啊?生成一个类,我们来对照一下啊,这一条代码 类当中是有两个方法啊,对吧?这是一个方法,这是两个第二个方法,对吧?那么来看一下第二第一个方法啊,第一个方法的话其实没多少代码,其实就是赛特啊,不就是赛特吧?赛特 fui 什么意思啊?我们来通过音中音来翻译一下,大家看一下,翻译一下就是, 呃,安装 ui 对不对?是不是?安装 ui 就这么简单吗?那么 ctrl 不就是安装啊,然后 ui 就是界面,对不对?安装 ui 界面那么传入的是一个形式参数,这个形式参数是行餐,是我们是一个缝的一个行餐,嗯,至于 行餐时餐,我们在以前的这个基础课程当中已经跟大家讲过了啊,就要行驶参数这个地方进来都是一个行驶参数啊,行这个行驶参数的话呢,我们这个地方其实是一个,嗯, 这个地方其实是一个,是一个实力化的一个对象啊,这个实力化的一个对象实际上就是一个窗体,对吧?实际上是一个窗体啊,是一个位置这样一个窗体传进来啊,位置这样一个床体传进来,传进来之后我们就可以位置的是什么呢?位置就是这样一个东西啊,就是我们之前的这样一个, 之前的一个创题,对吧?之前就是一个 ui 的之前的一个 q v j t 嘛,对吧? q v j 啊, q v j 的这样一个窗题,我们可以对他进行传录啊,对他进行传录,那么我们这里的话呢?呃,传录的时候我们待会要调用啊,传录成之后才可以调用嘛,对吧?然后我们来把这个地方 set 什么呢? object 啊?内 啊,这个其实就是我们之前的这个名称凤,对吧?哦,不就,那是什么意思啊?对象的名称是凤,这,这个我们有所对应的,我们来看一下啊,对应过来我们的这个地方,我们重新来打开这个工具, external tour 啊, p y 啊,这个这面 q t 第三个,然后我们来,我们通过这个,此时我们不要创建啊,我们通过打开,点击打开, 然后打开这个幺九二 t 四零零三啊, ok, 我们打开之后,我们发现啊,这个地方 object the name 是什么啊?这个目标的名称,也就是这个 form 的名称,这个 form 的名称,对吧?这个 form 的名称是什么呢?就是这个他的这个窗 form, 其实就是窗体的意思啊。 object name 其实就是指这个窗体的名称,就是叫做凤啊, fo 啊, m 啊,我们给他取了个名字叫做凤啊,对吧?那么这个呢?我们其实 啊,这个我们叫做什么呢?我们来写一笔吧啊? oppoject 的内容啊,窗体对象的名称,表示窗体对象的名称, 好,我们来写这个地方,这个地方,呃,这是这个属性,对吧?这属这个属性啊,我们再换一个属性啊, object name, object name, object name, 好,这个对吧? 这有二不留的内容属性,这个属性呢,就是表示什么呢?表示窗体对象的名称, 窗体对象的名称啊,窗体对象的名称,那么其实就很简单,我们就写到这行就行了啊,表示窗体对象的名称,因为为什么呢?这个窗体对象其实就是指这个, 嗯, q 位置的一个实力化对象啊,注意,窗体对象其实就是指啊, q 位置词 w, w, i, d, g, e, t 啊的实力化对象的 实力化对象啊,实力化对象,某一个实力化对象,那么这个实力化对象我们可以给他取一个名称,这个名称其实就是这个 form 的名称,对吧?这个 form 的名称, ok, 我们继续看下去啊,来,继续来对应过来,我们来看到他生成的这个 resides reset, 通过这个 resets 是什么意思呢?其实就是 这个,其实就是一个,嗯,而这个 set object, 我们 set object, 其实我们来看到啊,这个是 qt five 当中的一个设置对象的名称, 对啊,设置,对啊,没错,我们这这个地方还进行了一点点的补充啊,一点点的补充。 set object, 那么他是对应到对象的设计师界面,对吧?他是对应到拍神 代码中设置窗体的啊,设置窗体方法啊,设置窗体名称的方法啊,方法 ok, 哪个呢?就是指这个,对吧? 双,这是双体名称的方法,这个 set of 就是内啊啊, ok, 那么我们来再看到啊,这个地方上面,呃,这个 recise, recise 其实是指,就是指什么呢? recise 啊,那默认情况下他这个地方,呃,因为是左上角嘛, 所以他就默认情况就是零零了啊,可能就是零零了,那么我们瑞塞斯其实是对应就是从啊重新调整大小,对吧?调整窗底的大小啊,我们这个地方我们来把这个函数单独来列一下啊,瑞塞斯,那这瑞塞斯函数是什么意思呢?其实就是指啊作用 重新啊调整窗体大小啊,窗体的大小,大小 大小,那么这个大小其实很简单,我们上节课给大家有解释过,但是没有具体的写下来啊,我们这次给他彻底的写下来啊,那么他的一个有两个参数啊, 有两个参数,对吧?啊?第一个参数,我们通过这个四百对应过来,对应过来,我们看到这个地方其实就是什么?就是他的一个宽度,对不对?三百就 高度,对吧?哎,所以他的第一个参数其实就是第一个参数表示宽度值,宽度值啊,第二个参数表示高度值,对不对?高度值,那么举例其实就是指这样的一条 啊,对吧?举例我们来看一下啊,就是放点 recess, ok, 放点 recess, 这个是应该是一个小写啊,对啊,大家要注意,他是有大小写之分的啊,放点 recess 啊, ok, 那么我们来看一下啊,我们也可以通过这个, 呃,通过点击 ctrl 键,然后再点击鼠标左键可以点进去,哎,大家可以看到啊,这里面设置他宽高,对不对?他有这个啊,他有这个这个地方啊,这个地方是属于在哪里呢?我们可以看一下啊,在, 在我们的,在我们的这个很里面的一个方法啊,很里面的一个方法。呃,这我们应该是要到这个 qt p y q t 五这个这个地方。 p y q t 五的这一个方法里面啊,这里方法太多了,一下子也很难去找到,去定位到啊,那所以还是大家一定要记一下,对不对? p y q t 五的这个核心里面啊,对吧? p y q t 五的这个核心里面去设置它的一个宽高, 要找到的是要要对应到啊,这应该是这边啊,应该是这一边,大家看一下啊,这是上面的绘图的一个东西,对不对? graphic 啊,我们这个地方应该是 q veget 啊,设置它的一个宽高啊,我们来看一下 wedges, 应该是这一个方法啊,这就对了啊,对吧?大家来看一看到啊,这个 wedges 的它的一个所在的,它的所在 的一个。呃呃,一个一个他的一个拍摄代码所在的 页面啊,他是在哪里啊?他这个文件到底在哪里啊?大家看到在这个用户文件下面的,对不对?在这个用户文件下面啊,大家可以又通过这个地方右键,然后来找到秀音 x pro 啊,这个里面应该有很多啊,大家看到吗?啊?他都是一个 q t 的 p a q t q t five, 大家看到吗?这 q t q t five 我们安装在这里面啊, p y q t 五是不是安装在这里啊?当前的用户文件下下面啊?哎,我们我们所有的 所有的通过这个 py 管道啊,下载下来这个文件就安装在这个地方,对不对?然后我们通过这个地方,我们就找到了有一些其他的一些空间啊,对吧? qtfi 以及 qtv, 这次有哪些呢?有很多,这里面还有 button 啊,一些绘图的 slide go 啊啊,一些一些拉条啊啊,一些按按钮啊,一些带 lug 啊,一些这个 come on botton 啊, line 啊啊, file 啊等等,对吧?我们我们这个地方有很多 ktv 这词,也是这里啊, 包括我们这个里面有一个 risss, 对不对?通过这个 q 位置, q 位置最基础的一个代码啊, 最基础的一个负累啊,这个负累里面就是有这个地方,对吧?就是有这个瑞塞子,他的一个宽高啊,宽高。好了, 那么我们来看一下啊,这个地方我们是不是已经看到了?已经看到了,我们点进去刚刚已经看到了啊,应该大家不要找错啊,找的话应该找这个 pyqt 五的一个位置,对不对? pyqt 五的一个位置啊,毕竟我看看,我们看看这里面他有两个参数,这个也可以通过 q size 的这个 仓鼠来进行设置,对吧?啊?我们后面啊,再逐渐来使用这个东西啊, 好的,那么我们再接下去看下一条啊,再给接下去看下一条,这个下一条呢?我们实际上就是一个 sf 点调用了他,对不对? sf 点啊?啊?这个 retranse retranslate 什么意思啊? re translate, 我们可以把它来查词查一下啊, re translate 啊, 重新设置什么东西,对不对?圈子来的,是不是一个翻译啊?啊?是不是一个翻译的意思啊,对吧?我们来看一下啊。 呃,百度来看一下。瑞圈斯莱特是什么意思呢?啊?圈斯莱特就是翻译嘛,对不对?把什么或者把什么转变为什么啊?瑞圈斯莱特啊,就是重新翻译一下或者重新转变一下这个 ui, 然后呢对他来进行这个传入的这个对象啊,传入的对象哎。呃然后来来调用这一块啊,重新重置一下,对不对?重置一下。重置他成什么呢?重置他成这个 qt cool 啊,调用一个 qt cool。 qt cool 的话呢?我们也是在这也是有的啊,对不对? 我们是不是在我们刚刚的调用的这个文件啊?我们我们其实已经找到过了,我们不再去找了,刚刚已经找到这个 qq 号的一个文件夹了,对不对?啊?我们看到这个 qq 号下面有一个 q 号 啊, q call, application 还 translate。 那这个地方,呃这是一个,我们直接可以点点过来了啊这个这个地方应该是唯一只有一个我们我们这样子的唯一只有一个的话我们可以直接找到他了,对吧?可以直接找到他了。 qt call 对吧? qt call 这是一个文件夹,单 度的一个文件夹,里面有很多很多的一个核心的量的一些东西,对不对?哎可以有一些什么,一些系统的一些时间啊,一些系统的一些酷啊,一些操作系统的文件啊, 等等啊,非常重要的一些东西啊。长安没有对吧?嗯,大家可以通过呃这一个拍神代码的一个,呃他的一个,嗯嗯,就是就是这么一个 api 吧,对吧?差不多是一个 api 就可以看到了他的一个作用啊就可以。 ok 那么这个呢其实他最基础的我们可以看一下啊,这个类他是基础继承于哪里呢?他其实继承这些东西啊,都是继承于这个 oppo 句子啊,都是继承于这个 oppo 句子啊,对吧? ober 这个 oppo 句子才是最最根 根本的一个东西啊。啊,这是 q t 里面的东西啊,对吧?那么我们不多讲了啊,这是我们直接调用这个 q t five q t five 这个库就可以了,对吧? 好,我们这个地方呢, qt call 啊, qt application 对不对?呃是一个,最后再返回是一个转换过来的一个对象啊,将我们转换过来这个对象呢?我们可以设置 窗体的标题啊,这是窗体的标题啊。什么什么默认情况他是一个缝对不对啊?默认情况他是一个缝啊。 哦 ok, 这个地方有个 set set window title 啊,上一节课我们是不是用了 stat window title 啊,来设置我们窗帘的标题啊?实际上我们这个地方呢就默认情况已经给他设置过了啊,通过这个我们我们设计界面的时候就已经设置过了他的一个界面啊,对吧?我们可以把它变成。呃 我们待会进行转换啊,转换过程之后我们还可以进行设置,我们来进行观看好了啊。 ok, 我们下面的话呢,还有最后一条啊, qt mate mate qt 扣,然后呢? q mate 什么呢? object, 然后有一个 connect 啊? connect mate object 有个 connect。 什么有个槽, 死老子槽连接我们槽的名称,这个槽的槽是什么槽呢?就是指我们这个通过我们这个 qt 的一个核心代码去 呃, qt 当中最为关键的就是一个信号语槽啊,大家先进行一个了解吧,但是我相信,呃没有用过这个 qt 写代码的同学可能是可能会听不太懂啊,但是没有关系啊, 但是你记住有个信号槽的一个关系就行了,实际上就是一个 qt 的一个就相当于是 捕获 qt 当中的某个事件啊,事件其实信信号,我们其实就是一个事件,点击单机事件其实就是某个信号啊,可以这么去理解,嗯,好,那么我们简单的在后面加一条啊, qt 当中的理解啊, 啊 q t 啊中信号的理解,那么哎,比如说什么呢?比如说,呃这个单机事件对吧?单机事件啊,那个,呃或者说是这个某个 某个什么信号呢?比如说是超时超时信号啊,等啊,都是等啊,都是这个 q t 中 的啊, cqt 中的型号啊,可以,实际上啊,说到底其实就是某个说到底啊,说到底其实发生发生了某个事件说到底啊,说到 啊其实就就是界面上上面发生了某个事件啊,发生了某个事件 某个事件或者是某个信号啊事件可能是理解起来会比较的单一啊,其实其实或者发生了某个 信号会比较的准确啊,信号会比较准确。 ok, 那么我们我们来直接来生成自己再来生成一下啊,我们这一条啊, ok, 我们来执行 ljy 零零三 三自己来写一条幺 j y 零零零零 l j y 零零三吧啊零零三, ok, 我们来 现在我们来调用一下这个代码,对吧?调用来调用一下这个代码,再来调你一遍啊,以前已经调用过了,对吧?我们自己来写一下看看啊。 input 什么呢?首先 input 这个 sis 啊,是之前是不是已经给大家讲过啦?另外一个 input 什么呢? input 我们可以调用一下这个, 我们我们这一次可以传入这个微决策啊,不一定要传入这个闷微决策,对不对啊?我们这次此时传入这个微决策,哎,这个微决策的话,我们在什么 p y q t 五这里面的微决策里面就可以了,对不对啊?我们来 啊,这个是酷酷的名称 from 酷的名称,然后呢是一个音炮的导入,我们 只要导入这个啊, q apply k 群啊, q apply k 群以及这个 q 位置就可以了啊, q 位置,那么我们此时这两个,这两个库我们导入进来就可以了啊, 对吧?此事要倒入库啊,我们写的时候呢,嗯,程序的思想啊,待会还是要给大家再明确一下啊。 那么首先我们倒入库之后啊,我们来有一个 f 一句,对不对?这个 f 一句我们其实是可以不写的,我们之前是不是有给大家写过这个 f 一句啊?那这个 f 一句我们呃 name 在判断的时候呢,就是指本身的这一个, 就本身这一个文件在写入的时候模拟了一个路口,其实这个路口我们知道啊,拍伞,我们在写的时候,这个程序啊,我们就像批处理一样,一条条代码 执行下来的,对不对?实际上我们可以只要把这个程序作为一个,这个文件作为一个主路口的话,我们其实就也不需要写这个一辅一句,对吧?也可以不需要写这个一辅一句啊,当然写了这个一辅一句的好处呢,其实就是我们可以在其他代码在电路的时候呢我们可以呃 判断对吧可以不写就是可以不会创业腐具当中没人当中的这个代码可以不会不会被调用,哎这么一个好处啊,当然我们其实可以不写了对不对哦那么我们这里面先开始呃就直接布写好了,我们其实这个地方其实可以去布写的啊, 我们来看一下直接开始来写这个 q apply k 讯来首先来调一下啊 q apply k 讯 app 对不对啊?这还是要掉的对吧? q apply k 讯啊那么我们传录是什么呢?传录的是一个呃拍摄当中的一个参数 argb 对吧这是这还是非常重要的啊这个地方是什么呢? 首先这里面是我们这个导入的是系统类拍摄的系统类 啊,我们一条再解释一下吧啊导入啊拍摄系统类啊系统内裤 ok 第二条我们就是导入导入 pyqt 五类啊用到的内裤啊内裤一个是啊 oppolik 型 啊啊 placation 应用程序类对不对?程序类啊核心类啊,那么还有一个呢就是空间的之类 q 五 v 九 啊空间的之类啊之类对吧啊大家应该这里这几条应该都要知道的啊。好我们来再继续看啊。呃 plak 选我们现在就是把这个应用程序类进行实力化。 好我们一条条来稍微解释一下,因为呃有的小伙伴可能半路插进来啊,就是说是听这样一个程序啊,如果说你有之前的这一个,嗯 呃从我们的零基础拍摄教程啊老刘的零基础拍摄教程从第一期到一百二十五期的一个经验的话呢啊,学习之后你就可以怎么样呢?就拥有了这样一个啊,就是累的一个概念啊, 你就可以知道啊,我们这个地方你要进行实力化一个类,对不对?这个地方其实就是一个类库导入的是一个类啊,一个库呢,实际上就是一个类 class, 那么这个地方呢?实际上就是一个,呃, 这个基地其实就是一个实力化一个类,对吧?实力化一个类啊啊?通过构造函数,构造函数传入啊,传入这个 python 的参数, python 的应用参数 啊,有有拍成的用餐数啊,系统用餐数,对吧? a l g v, 我们可以点开来看一下啊, 这个地方是一个空的。 real 什么呢?它是一个 real value, 真的一个值,对吧? list 啊,有一些什么牌子,那些其他的一些东西啊, 这样一些东西会被装载进来的一些东西,我们就可以通过这个参数来进行传入啊,盘成的一些这个参数进行传入,那么有什么就传入什么吗?对吧?我们刚我们到时候可以看看到底是有什么东西,我们可以 打印进来,打印出来,对吧?可以也可以打印出来吗?他是一个全局变量啊,大家注意啊,当然是吧,他这个地方是一个全局变量啊,所以也就是说在后面也有可能进行传入的啊,这样一个参数的一个值,我们可以进行打印 啊, print 进行打印,对吧?拍摄一旦进行载入之后呢,我们就可以进行打印,此时我们其实就可以先看一下了啊,通过右键与 run 啊,可以看看什么都没有,对吧?有一个什么呢?他就有一个这样一个文件的名称被打印出来了,对吧? 他是一个什么?他这是一个列表啊,这是一个列表传入的第一个文件的名称,也就说是 a 九二零零三啊,就是把自己文件的名称传进来,这个文件的名称传进来,传进了什么呢?传进来之后就到这个 q opla k 群当中,我们就去构造了一个把这个文件,对吧? 把这个自己的这个文件名称自己给给传进来了啊?一个一个列表传进来之后,他可能就会去检测到,对吧?检测到 q aplux 就会去检测到,检测到这个列表,对吧?这个列表这个列表他可能会在初始化的时候进行应用啊,进行应用初始化的时候我们就要载入进来,对不对? 好了,那么这是我们打印的一个拍摄的一个参数,到底是什么,对吧?这个时候我们参数是 一个就就一个文件的名称啊,有一个文件的名称,我们拍摄直行过来的时候就会有的啊,就会有的。那么这个地方呢,我们其实就是实力化一个类啊,实力化一个类,然后呢传入我们的拍摄的应用参数,其实就是这个参拍摄的应用参数其实就是一个拍摄的文件名称,对吧? 啊?这里啊打印打印出啊,这个当前文件名称的啊,列表啊,包含当前文件名称的, 包含当前文件名称所在路径名称。呃,应该是具体路径当前文件 具体路径的名称,对吧?具体绝对路径?应该是啊,绝对路径,所谓绝对路径啊,就是包含从根目路开始啊,然后到文件的名称这里啊,我们绝对路径的名称啊,绝对路径, 我们把这个稍微写一笔啊,稍微写一笔,这个绝对路径,绝对路径, 那么路径说明啊,这有两个,一个叫做绝对路径的概念,一个叫做相对路径的概念啊,大家要明白的,绝对路径,我们一般来说从从根目录开始到文件的名称啊,从根目录,根目录开始的路径啊,路径 详细路径,对吧?详细路径啊,那么还有个是叫做相对路径啊,相对路径呢,其实就是相相对于某个文件 目录啊,目录的路径啊,相对于某个文件目录的路径啊,不会出现详细的这个路径的名称,对吧? ok, 相对路径,我们往往啊,通过一些啊, 相对路径,路径往往有一些代表性的东西啊,往往有一些符号代表,符号代表啊,代表。 ok, 那么什么呢?我们是点这个点啊,点 点表示当前路径啊,当前路径点点表示什么呢?这个叫是点点啊,表示上一层,上一层 路径啊,上一层路径那点点杠,点点杠啊,那就是上一层的上一层路径,对吧?哎,好,我们往往啊,就用这两个,哎,表示的比较的多啊,表示的比较多。好了,那么我们接下去呢,有了这个应用程序之后 后啊,我们最后就是为了程序退,程序退出而使用的,对吧?程序退出而使用程序退出的话,我们是有一个监控的啊,通过 six 的一个,呃呃,退出 excite 啊,退出之前我们监控的什么呢?监控的是 app 的 excite, 这个时候呢,这个地方其实就是监控程序的界面,监控程序退出的时候,对吧?监控,我们这个进程退出, 退出之后呢,我们会有一个执行一个退出的代码啊,实际上这个地方退出的是一个,执行的是一个,返回的是一个零,对不对?返回的是一个零,也就是说监控啊,啊?监控这个, 呃,这个地方呢,其实就是一个死循环啊,此时这里其实是一个死循环啊,死循环返回的一个界面啊。嗯,这个表示 这个界面程序界面监听事件, 今天啊,这个上次,上次好像给大家记过了啊,记过了啊,那我们再记一笔啊,今天事件的开启啊,是一个死循环 啊,是因为是一个记起来了吗?死循环,这是一个死循环啊,一直不断的去监听我们事件的界面,对吧?我们来看一下啊,我们现在这个程序有吗?现在是什么都没有吧?应该,对吧?我们右肩来看一下啊, 哎,还是什么都没有?他就是一个进程在这里,对吧?他就是表示一个进程在这里啊,现在我们把这个观看掉啊,所以我们这个地方其实是什么都没有啊,就一个进程,对吧?也没啥用啊。那我们界面是不是要搞一个啊?界面我们来搞一个看一下。界面搞一个我们界面的话来自于我们 之前的那个这个东西,对吧?是不是来自于这里啊?四百、三百啊什么的,对吧?那么我们这里呢?呃,我们来把这个东西进行实力化啊,把它进行实力化,导入这个,导入这个什么 uiphone, 对不对啊?首先把这个界面的 把,这个应该是 test ljytest 零零三要倒进来这个模块啊,这个模块首先要倒进来啊,来,再来导入一个啊,再来导入一个 input 啊, ljy, ts 零零三,对吧? ts 零零三, ok, 这个地方我们就是导入模块啊,导入叫做导导入模块,对吧?导入这个这什么的模块呢?导入类 的,呃,生成界面的类的模块啊,生成界面的类的模块,对吧? ok, 那么我们导入这个类的模块之后有什么用啊?什么用呢?我们就是要现在开始是就可以调用了吗?对不对?调用这个模块啊,调用这个模块的什么呢?他的一个 uifo, 对不对?他的 ui, 哎,大小写是有区分的啊。 uifo, 我们这个类啊,我们将类进行实力化, 将类进行实力化缝,对不对?他是不是一个缝吗?我们就用缝好了啊,就一个缝。呃,实力化,我们这个类 实力化生成生,生成的界面的类啊,这是一个实力化生成的界面的类,那么我们将实力化生成的界面这个类的话呢?我们可以进行一定的配置, 或者是啊通过这个什么呢?通过这个,呃, set, set up ui, 对不对?通过这个地方我们传入这个一个,把这个类呢传入到某个界面上,那通过他传入到哪一个界面上呢?我们就要 搞一个界面出来,那搞一个界面是哪一个界面啊?就是一个通过 q 啊, q 位置词啊,就可以作为一个 啊,窗体的一个界面,对吧?窗体的一个界面,我们就直接来一个 qv 的啊,那大家其实记住这一个步骤啊,这其实就是一个程序生存的一个思想啊。 好,那么我们来这个前面是不是要补一个啊?他是不是没有啊?没有我们就要搞一个 q v j 词, ok, 那么我们就用 w 来表 w 来表示 v j 词好了啊,呃, ok, 然后呢是一个 q v j 词,对不对? q v j 词啊?好,我们就直接实力画一个界面 写一下实力化啊,实力化,实力化,界界面之类啊界面之类, 这也可以表示一个实力化的一个界面积累啊,啊,对吧?界面的一个积累位置成一个空间的积累,我们把它传入进来就传入到我们他就行了啊,好,传入到他之后呢?我们就是,呃,是不是通过他进行赛特阿普拉? 现在阿布之后啊,就是实际上就已经把我们的这个界面啊,就已经啊 ok 了啊,就已经 ok 了。然后呢就是不是装载到这里面去了? 我们看看啊, ctf 装载到哪里呢?是不是装载到这个啊? fom 啊?装载到这个 fom 这里去了啊?装载到我们实力化的这个 fom 里面去了啊? fom 点什么?什么?是不是?哎?装载进去之后我们是不是就可以将这个啊?他就显显示出来了?显示出来了, 我们来看一下啊,有没有东西啊?是不是如此啊?哎,是不是四百三百啊?但是呢他这个地方呃出来的时候呢,他默认情况下是给你生成的是 中间,是不是?这中间的是不是在中间的?哎?这个中间的这个位置啊,实际上是呃,就生成之后因为我们默认情况下没有配置的,所以默认情况下之前看到的是左上角的零零,对不对?左上角的零零,那所以 但是他在零零的时候呢?他在生成的时候他并没有零零,对不对?并没有零零,那么我们也可以,比如说在这个地方我们给他生成写一个零零啊 form 啊,比如说我们自己写一个零零,自己可以补嘛,对吧?凤点木啊,通过木 呃木啊填放点木的方式啊,比如说是木到零零的这个 位置啊。好,我们来自己再看一下右键绕,你看是不是跑到窗题左上角的零零啦,哎窗题左上角的零零啦,哎。这个地方呢,其实我们使用了一个木方法来 对他的位置啊进行调整啊,我们对他来这个地方木方法啊木方法来做一个补充啊木方法来补充木方法的话呢,我们其实 作用是什么呢?调整啊,调整这个窗体的位置啊调整窗体的位置啊。那么第一个参数表示这个水平方向 水平方向的位置啊,那么第二个参数表示垂直方向的垂直方向的位置啊。这动 是一个用餐用。用什么用像素来表示的啊?母母方法啊,我们刚刚举例,我们可以把这个例子拿过来,对吧?我们修改了我们生成过来的这个类啊,到零零的这个位置啊,因为我们默认我们零零那个位置啊,其实在生成的时候他就没有给你拿进去的啊,对不对? 哎,因为他认为是零零,他可能认为你就是跑到中心位置的啊,啊对吧?举例,使用举例, 使用举例, ok, 我们就是放点,放点什么木?好,那么我们通过这样一个解析啊,我们上一节课啊,默认情况下我们最早的时候我们是不是用的是这个没有温度啊, 而没有 window 的话,我们知道的啊,它继承的是这个啊, q v 九七,对不对?我们看到翻到最上面啊,翻到最上面之后,我们发现它是继 现在是 q 微酒厂,所以啊,我们就是此时我们自己在写的时候,我们其实也可以时间是简单一点,直接写这个,直接写这个叫做什么微酒的就行了,对吧?是不是啊,直接写这个微酒的这个类 啊,直接写这个 vigo 的这个这个鸡肋就可以了啊,对吧?这是一种最为简单的一种写法,那么大家呢,也可以去尝试一下,也可以不使不采用这个,呃, 不采用这个,这个夜府渔具的方式在这里可以用,当然最好的还是采用这个夜府啊,夜府渔具这个通过内来模拟我们这个函数的一个文件的入口,入口啊,这样会显得我们的这个代码会比较 有水平吧,哈哈,会比较的,呃,正规一点,对吧?那如果正规一点,那么我们可以把这上面还有加个 fme 啊, fme, 那么这样子也可以使得我们这个类啊,可以在多方面进行使用啊,也比如说可以导入到其他的类当中,把这样一个窗体呢单独去进行调用啊,单独去进行调用,那这个地方我简单的可以给大家来写一下啊,这地方是使用窗体,窗体显示 啊,显示函显示,所以我们这个秀呢,是其实是调用窗体显示函数,对吧?嗯,秀秀函数, p y q t 五的秀函数是窗体的显示功能啊,窗体的显示功能使得窗体显示出来啊,那么这个呢,实际上是它自动生成的,对吧?这其实就是一 个什么将啊将生成的生成,呃的这个,呃窗体控件及配置什么载入到,载入到这个 w, 也就说是威瑞特这个空间对象, 空间对象中,那么我们将这个空间对象载入进去之后呢,就相当于是这个配置进去,对吧?然后我们就可以显示出来了啊,最后我们就是监控我们这个窗体,窗体这个 app 的对象就可以了啊, 也就是监控我们的这个,呃,我们这个这个叫做什么?呃进程,对吧?监控我们的进程,然后监控监控进程的事件一旦发生什么啊,那我们就进行钓鱼就行了啊。好了,那么我们今天的话呢,主要是给大家呢做了一个非常详细的 一个对照啊,是什么的对照呢? pyqt 五的这个代码,以及对我们的这个啊, qt 点三个啊的一个设计,对吧?对照我们这个设计啊,做了一个详细的讲解,这个文件的一个详细的讲解,那么嗯,大家呢也 自己要好好的去体会一下啊,你自己比如说再加一个东西或者减一个东西,对吧?哎,自己可以去感感受一下这一个过程。好,那么我们最后来进行一次总进行一个总结啊,我们学到什么呢?呃,首先要掌握这个,呃, 拍死啊,对吧? qt 点三个 dsigne 啊,点 qt 点三个。 第三个设计界面与什么呢?与这个我们的 pyu ic 啊,转换后文件代码的对应关系啊,对应关系,这个是非常重要的啊。第二个我们就是要掌握 pyqt 五的啊, 五中基本啊界面的界面,界面中常用函数的基本用法啊用法。那么第三个我们就是要掌握这个什么呢?掌握这个,呃,应该来说是有一点非常重要啊,如何 如何?呃,调用调用生成界面的啊,思想,思想对吧?如何调用生成界面的?这个思想实际上就是应该是,呃, 则啊,实则是什么呢?是 pyqt 五,哎。实则是如何使用 pyqt 五 纯代码啊,纯代码写这个,呃, gui 界面的关键 对吧?就这几点啊。好了,那么本期的教程呢?就是这些啊,如果说你感觉我的教材对你有所帮助的话呢,欢迎继续订阅关注,为我点赞啊。 呃,我们在这个百度的贴吧当中有一个呃呃,贴吧的名称叫做边城创造城市啊,大家如果说呃有什么问题的话呢,欢迎在这个贴吧当中进行留言。好了,我们的啊教程就这些, 哎。刘军编程编程创造城市,欢迎小宝们继续关注我们,下期再见!拜拜!



hello, 大家好,今天给大家演示一下在 qt designer 中使用三格布局 grade lay out。 那什么是三格布局呢?三格布局可以说是把空间按照一个二维的表格来排练, 就比如说把这个两行三列的一个表格比作是一个三格布局。现在我们把空键一个一个的放置到这个表格的单元格当中。 下面演示一个最简单的两行两列的三个布局。首先我们把四个空间都放置到我们的面板上, 上按钮一,按钮二, 按钮三, 把按钮三。拖动下来排成两行两列。好。按钮四,把四个按钮选中之后,右键选择布局, 再选择三个布局。好。现在四个空间的三个布局就完成了。 这个时候可以通过拖动来改变三个布局的尺寸,同时按钮的宽度也会随着三个布局的尺寸的变化而变化。 下面演示一个稍微复杂一点的三个布局,就是计算器的这个数字面板。大家可以观察一下 零这一个按键,它是占了两个格的。那怎么样来通过三个布局来把这个零安排在两个格子里面呢? 跟之前的操作一样,把按钮控件拖动到面板上, 这里是数字七键, 数字八键好,数字九键。这里通过选中三个按钮复制粘贴,这样可以方便快捷一点。 五六。 下面是数字减一,数字减二和数字减三。 好,下面就到数字键。零, 我们可以通过拖动来加宽按键铃的宽度来让它占两个格。最后一个就是点按键, 这个时候他会自动的扫描所有的空间的尺寸。然后呢,确定如何来安排空间的位置, 稍微放大一点,尺寸好,下面预览一下。 这就是使用三个布局的数字面板效果。谢谢大家的观看。

大家好,我是何一猫。本节我们来讲一下 python p y q t 五的竖形空间好,那我们呢先来运行一下 好。然后呢,看一下这个代码好,竖行空间呢啊,就这种竖行结构啊,大家可以发现呢,他是可以展开的啊,这也是一个非常常用的空间 好。首先呢,第一步创建一下 q tree visit 啊,这样的一个空间对象啊。然后呢,设置的是列啊,这里是两列。然后呢,设置一下投入标题啊,通过这个 set header labels, 一个是键,一个是值。 然后呢设置一下跟节点啊, cure tree vegetator。 然后呢,这个 根节点这个位置呢,啊,在第零列这个位置啊,给他设一个叫根末路。然后呢,再给他这第零列位置呢,设置一个图标 q x 啊。当然了,我就都用黑猫的图标了啊,主要是没有找那么多图标 好。然后呢,接下来呢设置跟节点的背景颜色啊,那这里呢创建一个 brash 画刷的这个对象啊,是绿色的。 然后呢,呃,让这个 root 根结点呢, set background 啊,在第零列这里设置一下绿色。然后呢,第一列这里啊,这里再创建一个画梢的对象,它是蓝色的。然后呢,在第一列这里呢,设置为蓝色的背景。 然后呢,下面呢,再来设置一下竖形空间列的这样一个宽度 啊。然后呢宽度呢是,呃,这个是竖形空间的这样一个宽度啊,列的宽度。这里呢是一百五。 然后呢,在这个根结点下面呢,可以设置这样一个子结点啊,他呢也是一个 q 吹啊对象,但是呢,他是一个 q 吹,也是一个 q 吹 item 对象。 然后呢,这个子节点呢,给他设置在第零列这个位置呢,给他设了一个第一个子节点啊,第一列这里呢设置一个网易啊,这里起了一个名字啊,然后呢又设置了这样一个图标啊,这是在第零列这里呢,还是设了一个图标啊,这还是一个黑猫的图标。 然后呢接下来呢这个呢是可以勾选啊,那这个可以勾选呢,就把它设置一下 set 啊,拆个 state 啊,给它设置为 q t 点儿 check 好。然后呢根结点呢,这里呢注意把它添加进来。然后呢接下来呢设置一下第二个字结点啊,叉二得二。然后呢它是 q tree, v g type 啊,它呢是 呃它的负啊,它就是呃依赖于这个 root 啊,它是放在 root 上的。好,那我们来看一下这一个 啊,这个字节点一呢,它直接呢就在 root 里面啊,这里呢可以把这个 root 呢给它加上, 然后代表呢他是一个啊,他所属的这个副容器。然后呢在第零个位置呢,设置第零列,设置第二个直接点,然后呢再在第一个位置在这写上内容淘宝。然后呢给他一个图标,然后呢直接点三。大家注意看这个是 是 q tree 啊, v j 的 item 这样一个对象,然后呢它呢是 child。 二啊,它是它的负节点呢是它就是它的上一级是它啊,然后呢一呢就要退出啊,然后给它一个图标 好。然后呢我们接下来呢啊就往下看啊,呃,给节点呢添加一个响应的一个事件 啊,当被点击的时候呢,啊他呢就会有这样一个事件啊, unclear 的之后我们就会去看他。然后节点呢全部展开啊,默认就是全部展开的情况啊,现在呢是折叠展开。 然后呢,接下来呢给他一个布局填进去。那么当我们选中了当前的这样一个项目之后,好,然后呢他就会打印出来啊,这个就是 tre。 然后呢这个 item type 是零, type 是一啊,分别呢就是这两个部分啊,因为我现在点的呢是根部啊,所以说没有什么反应。那这样我点击一下这里好,这里好,还有这里 好。那这个呢就是我们的竖型目录啊,那这个也是一个呃非常常用的这样一个空间。然后呢,下面呢我们再来导入一下第二个 好,第二个呢,其实呢啊它是比较简单啊,这里呢是 windows 当中呢,也算是比较常用好。它呢是这个样子啊,它创建了一个 q dnr 的 这样一个 directory 的这样一个模型啊,然后创建一个竖行空间,然后呢这个竖行的这样一个 view 的 tree view 啊,这是 tribute, 它呢是 set mode 啊, set model, 把这个模型呢给它放进去。然后呢,这个呢是我们的 windows 系统自带的 啊,他呢就可以直接看到我的这个 windows 系统的这样一个磁盘的情况啊。那我现在呢,其实呢就是两个磁盘, 而且呢现在呢这个叫呃 data modified 是十月一号啊,因为上午呢我还在直播,直播讲这个啊,算法的这样一个冲刺的课程。好,那我们本节课的内容呢,就先到这里。
