ok, 现在夏老师已经来到电脑面前了,然后我接下来要教大家怎么去刷这个机器啊?这个机器刚买的话要把它刷成 pyebox, 然后你这个时候还要准备好这个叉 box 的 这个手柄,这个也要有。 ok, 下面我们来直接 下载它的固件,然后呢弄到机器上面,然后这里要创建个名称,你就写一个零零七好了, 然后点 next, 他 会告诉你怎么做,然后你英文看不懂,你就翻译一下也可以,反正就是说这个地方你得一直按着,待会不要去动,就像我现在只有一只手,那我就只能这样子一直按住,一直按住的话呢,他这里会跳一个紫灯, 你看现在这样,这时候你手别松啊,然后点,再点那个蓝色按一下,然后这个时候它右上角会出现一个 logo 这个标志,然后点一下,然后点配对, 然后他现在配对了,这个时候手就可以松开了,然后他这边正在清除他的原有的官方固件,然后再刷他新的固件,然后你等个一会,然后他这边就可以刷好 耐心等一下,你看他有净度的。 等一下,你看这个遥控器是叉 box, 我 一百六十块钱淘到的,是不是就就很多人就买这,他不用,然后你就买个这个就 ok 了。然后他是蓝牙的嘛,也是装电池的,然后这个是对屏键,你新机器的话要先对屏, 然后长按这个就进入到这个对屏模式,你看他会一直亮,然后到时候等到你机器人,反正他会等他刷好你运行程序就按一下,他会先搜索附近的这个正在对屏模式的蓝牙说明,然后下一次连就不用对屏,就会直连, 很方便,演唱会买的 一百了。好了,现在这个已经刷好固件了,然后我们连上蓝牙试一下, 你看就会出现零零七点配对,然后就长亮就点了,然后待待会我们要写程序了,然后在这里面我们新建一个, 它可以选,如果你付费了,你可以选择这个,这个叫做图形化,你没付费,你就只能用这个了。那像我就是付费了,那我我就 用英文啊,然后 create 啊, on the blocks, 我有来神祈祷,我是真付费了,你们等一会,我把这个写一下, ok, 你 看我现在代码已经输进去了,然后我现在点一下这个 activity, 好, 你看我现在就进入到了这个付费版界面了,我觉得大家支持一下他们真的太厉害了,这个团队 对不对?所以向老师就付费,我还捐了一百美金给他。接下来我们讲一下怎么样给这个结构编程啊? 好,现在我们讲一下程序怎么连啊。首先在这个地方,我们在 setup 里面把最下面的 control 拖进来,然后还要拖一个 model, a 为 forward, 在这边先 set up 一下,然后这边 set up 完, left mode 是 b, right mode 是 a, 然后它们的方向什么是 forward? 设置好,就像我这边,你看连 b 端口的这个电机,它的顺时针转其实是反的, 所以你要把它反的设置成正的啊,然后这边是 a, 电机右 a, 那 你这边在 program repeat, 在 这个 flow 里面啊,把这个拖出来,然后拖到这里以后呢?再把这个 input 里面有一个 ctrl 了,看到没有,就这个东西拖出来,然后把它改成 vertical 啊,就是这个,然后这个拖好以后,我们就给它运行一下,我们来看一下效果。运行了以后呢?是这样的,你如果这个不开机运了就是白运,还没有用。你要先按这个, 按这个以后呢,你再长按这个地方,让它变成这个配对模式,然后这个时候你只要这个按一下,然后再按一下, 然后他会开始搜索,等到这个光啊,这种淡淡的亮了以后啊,就说明脸好了,然后你看,然后这个车就可以动了,我们测试一下前后 o 不 ok 啊?我还没测过然后呢?现在你看我左左边的控制感控制是左轮,右边控制右轮,然后左轮往前,哎,他往后, 这人往前,他往后。那没关系,我们只需要把这个遥控器反过来运行就好了。然后呢,我教你们,你们如果这个时候发现是反的,你把左手放到这个地方, 看到没有?你把右手再放到这个地方,这样子啊,你这个感觉就正了,你知道吧?你左手,你看如果是反了,你就这样子控制,懂了吧?我们先操作一下。 嗯,好,这样子就可以了。我跟你开玩笑,怎么可以这样呢?我在反的话,我们要调一下,就这个地方呢,你就把这个东西调回来就好了。 这里调一下,然后再重新连,然后把这个蓝牙退掉,重新连对,然后呢?然后点配对,配完对我们再下载一遍, 好运行,然后这个时候我们再重新,这个就会关机啊,然后关机,嗯,再那个一下,好,再运行一下,等它常亮啊, 好看,现在就正了,是不是?现在就正了,对不对?好,这这个就是基本的移动,两个同时按就是前进是不是?我就说这个机器人,你看这个速度一点不亚于 spy prime 的 速度,我觉得 特别牛,三百块你要什么?自行车对不对?还有个电机,待会做升降,然后到时候再买个电机做这个打球就好。买了那个打球的做,买个稍微大一点的扭矩,我给你们看一下,扭矩要大才是大马力, 知道吧?扭矩要大,我俩的鸟呢在睡觉,然后你看一下这个大扭矩电机啊, 你去单买一个这个 ok, 这个一看就扭矩大,对吧?你要信不过我,你信不过向老师,这个坨全是小电,小电扭矩太小了, 然后你要买就买大电,大电,哎呦,我这大电都被他们用完了,你知道吗?我的学生啊,就是, 哎,大件,反正你看啊,就这个,这个就大件啊,你谁要不信你插个这个也可以啊,都能插的。各位蜂蜜,我给你看一下我操作现在就是你看, 比如说我要收集这个球啊,你看啊 看,是不是很帅,而且这个遥控器它是比例控制,我可以微操,看到没,我可以慢慢的动,这个手感简直无敌啊, 遥控器一百多,车子三百多,五百块钱实现。哇,你这个还可以,以后自己坐车子哦,是不是特别的好玩,所以托米一定要买,知道吗?太好玩了, 给你们看一下我操作是吧,这是我们那个比赛啊,然后这个是冰湖场地啊, 然后到时候那个塞尔维亚底盘做好了,上面就到时候你剩下几个按钮可以做操作的编程就可以了啊,这两个也是比例控制的,这两个也有比例控制,所以这里面手感啊,真的特别丝滑,蓝牙 好,那么今天我们的分享就介绍到这里,我们 part 二结束了, 后面三思凡教你们怎么做那个打球啊,还有那个挂环的升降,这个就 ok 了,我们就基本上这个车就搞定了。然后呢,你们有自己的想法,可以自己去 edward 去迭代, 但反正功能、原理、标准、效率这四个维度就是我们现在你看已经搞定了,好,拜拜。
粉丝1263获赞2511

来,小孩, ok, 现在是我们使用 pyre bricks 进行控制端编程的第一节课,那大部分同学都已经完成了底盘的控制了。然后 你看一下这组同学,这组同学他们做的稍微比较快,他们连那个升降和投球也做出来了。朱迪,你给我介绍一下你们的程序的逻辑。来,去,给我给我给我介绍一下。来,从头开始讲一下这个逻辑的程序 啊。这程序的逻辑先塞 up 开始,对,这个就是我们定义三个变量,就是左边 轮子、右边轮子和这个投球力度,他,嗯,好,这三个,然后那这几个东西是什么?这个就是代表他是 space, 嗯,然后这个就是定义有哪些电机,然后这个就是连接遥控器啊,还有一个后面那个,别漏说,最下面这个什么? 这连接遥控器,对,控制遥控器。好,下面到了程序循环了,这个,对,这个是,这个是,这两个是文字,他的,呃,功率和遥控器的输入值的一个关系,对吧? 算法啊,这个就是变成把那个输入变成输出,对不对?然后这个就是升降,这个是升降部分的程序,左边、 左边和右边都没有按下的话,那他们就控制升降停。如果呢?左边按下,那他就左边应该是不等于零,就代表按一下,对吧?对, 然后就是他就按这个左边出来的直接就是功率,功率来你这边是零减的话,其实还有一种话就乘以负一,是吧?也可以了。 然后再是另外一个是做什么呢?就是这个是用来做头球的啊,做头球为什么要这么编? 做头球就是我是想要按下一个按键,嗯,然后就给他就让这个这个头球的东西往前,然后或者往后。 好,那么这个算法你演示一下吧,它是怎么样的一个逻辑? 就这个按左摇杆是往前,然后往后是往后,嗯,然后这样,这个是控制转弯的,嗯,然后按下这个是上升,这个是下降,这个是下降。啊,那击打球呢?这个 是啊。那功率改变是按哪个键控的功率改变是按这两个这几个键去控制击打的功率,对吧? 好,那你们现在这个程序编完还有什么问题?你觉得 就改变功率还是要在一起?我觉得就是改变功率这个反馈做的不太好,是吧?你要让自己操作手知道你我现在是以几的功率打过去吗? 因为你现在是功率超了,问题很严重,是不是要求飞过去了啊?其他没问题。那下节课再改好不好?现在把程序保存到服务器上,自己建一下,夹住。我们要动作快了啊,哎,这是。

今天给大家带来的是 photoshop ps 二零二六最新版本下载安装教程。首先下载安装包,我们打开浏览器,在浏览器输入网址,网址输入正确才能打开 ctrl 加 f 键快速搜索需要的软件。这里提供了三种下载方式。

今天分享给大家 pdf 编辑与管理工具, adobe acrobat prodc、 二零二六安装版、编辑 pdf、 创建 pdf 等统统搞定。首先安装包获取,打开浏览器,输入提供的下载地址,在页面搜索框中输入 acrobat, 找到后点击进入,向下滚动,你会看到两个下载选项,任选其一,点击进入文件夹内,一个是安装版,一个是便携版,免安装版,我下载的是安装版。接下来看看安装教程, 在安装之前先关闭一下杀毒软件,然后找到安装包,右键解压, 打开解压后的文件夹,找到 set up 程序,右键以管理员身份运行,取消这个对勾,开始安装。安装需要几分钟时间,稍微等待 安装完点完成,打开开始菜单,找到安装好的 acrobat, 右键打开文件位置,将快捷方式拖到桌面,双击打开, 如果提示需要登录,关闭窗口,返回安装包文件,右键以管理员身份运行 craft 应用程序 完成,点击, ok, 现在双击桌面图标就可以打开软件使用了。好了,今天的 acrobat pro 二零二六岁的安装教程就到这里了,如果帮助到你,点赞支持哦,下期再见!

三十秒 switch 安装游戏返回到桌面,然后打开相册, mbi 按 a, 确定 好下一步进行这个 mtp 显像器按 a 开始,然后用一条线把它跟电脑接起来,最好是后边,然后这个时候呢, 咱们的此电脑里边就会显示出来。 switch 双击这个是 sd 卡安装,咱们把这个准备好的游戏文件拖到 sd 卡安装里, 然后等待时间到了即可。看一下,现在等一会所有东西都结束了,应用安装完成,直接返回桌面就行,这时候就已经出现了咱们要的游戏。

今天给大家带来的是 in copy i c 二零二六最新版本下载安装教程。首先下载安装包,我们打开浏览器,在浏览器输入网址, 网址输入正确才能打开 ctrl 加 f 键快速搜索需要的软件,这里提供了三种下载方式。

有很多粉丝后台问朋友收集怎么安装?今天出一期手机加 pc 的 完整攻略,首先是 pc 的 教程,这里主播放的一个整合包,所需文件已整理好,解压即可。完成后打开文件 双击应用,这里提示不让管理员运行,这种情况点下面的降级程序就能解决。现在就来到了龙神界面,点选项设置, 添加游戏目录,找到 game 文件夹选择,然后继续加载更新目录,这个是升级包,也是选中 game 文件夹。现在的话游戏已经加载了六十帧,补丁已经内置,不需要单独设置。然后继续回到设置输入,这里,我用的是键盘, 双击图标就可以进入游戏啦。接下来是手机安装教程,手机游玩需要准备好这些文件,第一步,先安装下面的这个 addon, 完成后打开 下一步,点击密钥文件,密钥文件后缀是 kiss 格式,找到固件密钥文件夹选择,然后是固件二二点一点零,这个压缩包就是。最后添加游戏本体, 注意这个游戏本体需要解压,文件大小为六点八 g, 并且要单独放在文件夹内,现在就加载完成啦。 接着设置下中文,注意要在没进入游戏前设置,否则不生效。选择简体中文,返回主界面,点应用就可以游玩啦。如果有黑屏、闪退等情况就需要更换驱动,每个手机情况不一样,所以主播也不能推荐,具体用哪个只能自己测试。

今天教大家怎样安装 python 和 python, 那么 python 和 python 是什么东西呢?首先 python 的话,它是一个解释器,什么叫做解释器?解释器也就是帮我们来解释这个代码是什么意思的, 那么这个编辑器呢,也就是拍摄目,他就是用来给我们去写代码的一个工具。好,那么既然我们想要安装这两个软件,首先的话呢,我们需要来到百度去搜索他的一个拍摄官网,比如说我这已经提前帮大家打开了这个官网,那么在这个官网下面啊,我们可以找到一个登录子,一个安装一个下载好,然后登录下面有一个 windows, 那么 windows 的旁边有一个登录的 for windows, 那么我们找到它的一个最新版本 pass 三零一点二,这个时候我们只需要单击一下它就可以开始下载好,然后我这里就安装在这个一盘下面的安装包这里。 好,已经下载好了,那么下载好了之后啊,我们就来到我们本地刚刚下载的这个目录下面,我去双击它打开 啊,嗯,打开之后啊,这有一个安装,现在就安装,然后还有一个是自定义安装,那么下面这两个选项我们都需要去给它勾选上, 尤其是 j i 的 python plus, 那么这个的话呢,是将我们的一个 python 环键添加到我们的一个系统编量当中,那么我们在这里给它勾选上啊,不然的话你后续还需要自己手动的去给它进行配置,就比较麻烦,所以说我们这里一步到位给它进行安装,然后呢,现在我们选择啊,现在就安装,然后选择是 因为 python 这个软件它的一个,嗯,呃,内存还是比较大,所以说我们需要稍微的等待一下,尤其是我这里网络可能不是很好,这安装过程可能比较慢, 因为这里的话就提示我们已经安装成功了,那么怎么检验到底有没有安装成功呢?对不对?我们先把这个 closed 关闭掉,关闭掉之后啊,我们可以在这个搜索框这里搜索一个 c m d, 看到没有,这有个命令提示符,或者说你就按住键盘的一个 windows 键,加字母二键,好把它给按出来,然后你在这里输入一个 c m d, 打开 来,我们打开这个终端,终端这里我们输入一个 python, 哈,现在如果说我暗菜回车,我能够看到我刚刚安装的一个 python 版本信息,那么就说明我们的 python 呢已经安装成功了,如果说没有,我们就重新来安装一遍, 好能够看到啊, python 三零一点二,对不对?这个呢就是刚刚我们从 python 的一个官网下载下来的一个安装包,并且呢我们进行了安装,那么我们同时呢也可以来安装一个 picharm, 对不对?我们需要安装一个啊编辑器来,那么 picharm 的官网呢? 我也给大家提前打开了,现在呢我们在这里找到一个登录的啊,我们点进去这里的话跟安装拍子呢有一点不同啊,我们可以在这里看到一个社区版以及一个专业版, 这两个版本有什么区别呢?首先可以肯定的是啊,专业版它相较于这个社区版,它的功能是会更强大一些,它的功能更多。那么这里呢,我建议大家都直接去安装这个专业版的, 专业版啊,他其实是需要啊去进行一个付费激活的,或者说你只能免费使用三十天,那么现在我们来安装这个啊专业版的,并且呢老师这里呢会有这个免费的激活码可以领取。好,我们直接登录了下载一下, 那么这个下载的过程我就直接给大家进行一个快进了,好吧,首先我们先下载好了之后,我们直接来找到我下载好的这个安装包,然后找到之后呢,我同样的我去双击它啊,我点击设给 给它安装好,点击下一步。好,言归这里的话呢,它需要你去选择一下你安装的一个路径,那么我们这里的话建议不要安装在 c 盘啊,除 c 盘之外的其他盘都可以自己选择一下,那我这里就只有一个 e 盘,我就把它安装到这个 e 盘下面好吗? 一盘下面一个拍串好,然后我点击下一步。好,这里你会发现啊,这有四个选项,其实这四个选项啊,首先第一个他是,嗯,在这个桌面上面创建一个拍串姆的快捷方式,我们可以在桌面上面进行打开,那么其他三个呢?你可选可不选,那么我的建议是你可以都勾选上啊,无关紧要,你可以勾选上。好,然后下一步 这我们直接进行安装,安装的过程大家可以自己稍微等待一下,不用着急。 好, sum 这一提示我们已经安装好了,我们直接点 这个 finish, 关闭之后,你会发现我的桌面上面已经出现了一个拍上的图标啊,我给它打开,打开来看一下。好,然后这里给它勾选上, 因为这里的话啊是一个激活的页面,因为我刚刚说了啊,专业版它是需要一个激活码的,那么激活码的话,我这里已经提前给大家准备好了啊,我们点击第二个,看到没有激活码,然后呢我来到把开到这个玩意里面 type charm 的一个激活码,你点下布置粘贴过去。 好,激活之后我们来打开看一下,那么这个激活码的话啊,其实它不是永久激活的啊,它只能激活几个月,那么待会呢,我也会给大家提供一个啊插件,这个插件呢是能够永久去激活的,我们在这里就新建一个项目, 这个软件刚安装嘛,所以我们需要去新建一个项目,我在 d 在这个 e 盘下面新建一个盘,在这 e 盘下面, 这样我们需要先来到这个 e 盘上面去新建一个文件夹,这样的话呢才能够去进行安装。我先把我这个插件放到桌面上面去,待会我们就用这个插件来进行安装。 it is, 我们给它取个名字叫 python projects, 好,那么这个呢,就是我们的一个项目的一个目录啊,然后我们在这里找到我们刚刚新建的这个文件夹, pass pro 解渴,对不对?数据这个文件夹,然后点击, ok, 好,那么这里选择好了之后,我们点击创建 create, 好,创建好项目之后啊,我们稍微等待一下,这里的话需要加载一会,然后把这个小提示这个小 tips 关闭掉, ok, 然后 close 关闭上之后啊,这我们还是免费激活了几个月,对不对?那么我们想永久激活,我们直接把这个插件给他拖进来,看到没有,重新启动,重新运行,来大家重新运行一下啊,他会自动帮我再一次呢去打开这个 password 软件, 好,然后这里的话我们选择为拍 shop 安装好,点击试 八个女。那么现在我们再一次进入到这个开上门界面之后啊,说明我们的软件呢已经永久激活了,并且呢是专业乳,并不需要我们去付费购买啊, 那么现在你会发现在这个页面当中啊,它全部都是英文的对不对?如果说我们刚开始学习 python, 我们的英语呢也不好,那么应该怎么办呢?我们可以在这个 fire 下面找到一个 setting 好,然后我们点开,在这里输入一个插件 programs 好,然后找到插件,我们输入一个 charis, 好,看到没有?第二个,这里呢有一个中文语言包,也就是我们要的一个中文版的汉化版,对不对?让我在这里发现有一个 install 的一个按钮,安装一下,然后点击好转好了之后啊,我给他点击 ok, 看到没有,哪叫 ok 呢?我再一次给他重新启动这个软件,哎,我们来看一下他会不会变成中文版本 车载加载组件啊,看到没有,是不是变成了中文版本,那么这样的话就非常方便我们的新手党来进行学习啊。现在的话呢,我们的 python 和拍 shop 就已经安装成功了,并且呢如 如果说想要领取这个免费的寄过插件的同学,可以直接在我们的评论区留言或者私信我都可以一键三连领取, 哼,不。
![[html系列教学]VSCode的安装与使用 #程序员日常 #办公软件技巧 #设计教程](https://p3-pc-sign.douyinpic.com/tos-cn-p-0015/ooiLCUqweACQMeGbBf8WuvQAUL7PgFxMoaIQB0~tplv-dy-resize-origshort-autoq-75:330.jpeg?lk3s=138a59ce&x-expires=2103886800&x-signature=W1YwPcpSXajL%2FVHu96hjhHzXIqI%3D&from=327834062&s=PackSourceEnum_AWEME_DETAIL&se=false&sc=cover&biz_tag=pcweb_cover&l=20260904211454189C3F8A35D5BCE0F452)
之前我们说自己手动更改文件后建名太麻烦了,那么这时我就需要使用一些专业的开发软件来帮助我们写代码了。能够编写 html 的 软件有很多,这里我们选择的软件是微软的 vs code, 那 么去哪里下载? 你也知道国内搜索软件的德行,自己去搜很难找到真正的下载入口,一不小心就被下载了病毒全家桶,所以这里我推荐你去问问 ai, 一 般 ai 会给你准确的下载链接。打开 vs code 的 官网, 它会自动熄灭你的电脑系统,你直接点击下载,它会自动为你分配适合你系统的版本。下载好后,你会在你的电脑中看到一个安装包,双击打开这个安装包,点击我同意,然后点击下一步, 接着勾选项方所有选项,点击下一步,再点击下一步,最后点击完成, 那么到这里安装的部分就完成了,是不是很简单?接下来是对这个软件进行设置, esco 就 像游戏一样,允许用户给他打 mod, 所以 打开软件这里你看到的和我可能不太一样, 不过你要做的只是去角对应图标,图标不会错的。在最左侧点击这个图标, 在商店中搜索 chinese, 点击这个插件,在这里点击安装 install。 这个插件的用途是将界面翻译成中文,有与没有都不会对你代码的运行产生影响。接下来在商店中搜索 live server, 点击这个插件, 同样点击安装。这个插件可以让你的网页代码在保存的瞬间直接更新到网页当中,省去了每次改代码都需要刷新网页的麻烦。我们重启一下软件,然后将上次的网页拖过来, 这些可能会提示风险,但代码是我们写的,我知道肯定没有问题,所以点击打开即可。这些你在软件当中就能看到你之前写的代码了,你可能看到的代码颜色和我的不太一样,这不重要,也不会影响你打代码, 后面代码打的多了,自然就会意识到这个颜色是干什么用的了。打开代码之后,我们详细查看代码运行的结果。 在能打字的区域,鼠标点右键选择 open with live server, 然后它会打开你的浏览器,这时你就能看到你的网页被显示在了浏览器里。现在不要关闭浏览器,直接回到 vs code 当中,我们加一句话, 写完直接 ctrl 加 s 保存,我们返回浏览器看看信不信。浏览器直接把进加入的代码显示在了网页当中,那么下载软件的部分就修完了,下期我会带你看看完整的网页结构是什么样子的,以及带你认识更多的标签。

现在很多小白下载 steam, 不是 下载到 steam 助手就是下载到 steam 管家电脑还没开始玩游戏广告先弹了二十个,别慌,这期主播 用一分钟教会你下载和使用 steam。 首先第一步,打开浏览器,直接搜索这个网站,回车安装 steam, 下完找到文件,下一步 双击图标安装确认,确认是中文后下一步。这一步注意最好选择 c 盘以外位置 创建文件加 steam, 选好位置后安装,等待结束,到这一步就完全了一半。接下来注册 steam 账号,我们再次打开浏览器搜索蒸汽平台,它和 steam 是 账号互通的,可以避免很多问题。进入后点登录创建账户,输入邮箱 可以是 qq 自带邮箱,了解后我们在前两栏输入同样的邮箱,点击人机验证可能要好几遍,通过后把两个勾打上,点击继续。我们打开 qq 邮箱,找到接收的邮件, 点击验证我的电子邮箱,按照要求完成实名认证,完成后就可以创建账户了。注意两件事, 一、账户名称,推荐使用英文与数字形式。二、密码,英文分大小写,最好包含大小写加数字符号。如果登录时候卡顿,可以选择一款加速器, 如 u u q u x h 核等,大部分都免费,可加速 steam, 完成后就可以打开 steam 登录后愉快的玩耍了。下期想看 steam 下载游戏还是退款教程,还有什么不懂的直接评论区,我是阿超,我们下期见!

挑战一周,带你学完 python, 跟这个学完,你会发现你真的很牛!警告,本系列最新 python 教程应该是目前全网最系统易懂的小白专用课了,一口气带你学完 python 所有核心内容,存下吧,最新版错过就刷不到了! 新的一年, python 到底要怎样学习才正确有效?首先是基础部分,需要学习 python 软件安装、变量运算符、循环字母串元组。 第二阶段是进阶篇,会详细讲解各种 python 进阶知识函数、面向对象、正则表达式等知识,用最易懂的方式带你熟练使用 python, 为后面的路打下牢固的基础。 第三阶段,技能训练会从 python 爬虫、数据分析、人工智能、办公自动化等领域展开,让你可以把所学的知识进行变现,流进你的口袋。为了让大家轻松学习 python, 我们这套课程呢,会从语法入门篇、语法进阶篇、全站实战篇等三大方面来讲解。语法入门篇里面包含了 python 与 patcharm 的 安装以及环境配置学习变量运算符、数据类型、控制、结构函数等。语法编程 语法进阶篇里面呢,我会详细讲解每一个进阶知识,从面向对象编程、异常处理、正则表达式等知识。全站实战篇会手把手教大家练习项目,比如爬取图片、视频办公自动化、 数据分析、机器学习等。最后呢,会给大家一个小福利,有搭建开发环境资料包、 python 从零到一的学习计划表, 几十上百计,素材、书籍、课件等等,只要你能想到的素材我这里几乎都有,评论留言六六六 即可全部免费打包带走!相信我,这套拍粉系统课程将会是全网最齐全最易懂的小白专用课,如果看到这对你有所帮助的话,请给老师一个免费的一键三连吧,让更多想要学习拍粉的小伙伴看到这个视频。下一站上岸, 大家好,我是讲师 perry, 这节课呢,咱们开启一个新的篇章, p y q t 五、图形化设计界面,咱们之前写的爬虫啊,写的这种代码,它都是没有界面的,对于这种不会编程的用户呢,实际上是不友好的 啊,我们这节课呢,讲一下这个图形化界面开发,有了这种界面呢,咱们整个这个程序呢,它就像一个真正的软件了,这样子呢,咱们可以分享给更多的人使用。我们先介绍一下,目前啊基于 python 用户图形化界面的库, 主要有三个,第一个呢叫 ticker, 这是一个 python 官方提供的库,这个库呢控件呢相对比较少,帮助文档呢,其实并不完善, 如果咱们要开发相对复杂的这个界面呢,还是比较困难的。第二个呢是 wx python 库,这个呢是非官方的库,资料呢相对完善。第三个呢就是咱们今天要讲的这个 pyq 库, 这是一个非 python 的 官方库,它分装了 qt 库啊,这个库呢得到了广泛的应用社区呢,是比较成熟,帮助文档呀,开发案例呢也是非常多的 啊,它还提供了一个叫 qt designer, 这是一个图形化设计工具,所以呢,咱们推荐大家啊,来学习这个 pyqt。 好,咱们在使用 p y q t 之前呢,咱们先要安装一下这个 p y q t 的 这个库,那咱们要安装这个 p y q t 啊,我们建议大家用这个 python 三点九这个版本啊,嗯,这个三点一零呢及其以上版本会出现什么问题呢?咱们到时候有个图形化界面工具会使用不了 啊,所以呢,我们建议大家啊,先安装一下这个 python 三点九。好,安装完以后呢,来咱们看一下如何安装这个 pyq 五,那咱们首先啊,打开 py 叉,来,咱们新建一个项目,来 new new project, 然后呢大家看我们这边这个位置呢,咱们就填一下,给它起个名字啊, 然后呢咱们写一个 learn 啊,大家注意一下这个路径啊,咱们这个路径中间呢,不要有中文啊,有中文呢,容易出现问题。好,那看现在呢,咱们就要找一下这个 python 解释器了啊,那看我这边装了 python 三点一零,还有三点九,所以呢,咱们这边啊,选一下三点九。 好,然后呢咱们就 create 一个项目。好,我们在当前的这个窗口打开啊, this window。 好,咱们稍等片刻。好,大家看,这时候呢啊,咱们来安装一下这个 p y q t 五啊,咱们这边呢,从拍叉里面安装,我们点一下 python package, 咱们重新输一下 p y q t 五, 大家看我们选择一下这个 p y q t 五啊,咱们选一个 p y q t 五的最新版本啊,我们可以点击安装 啊,大家看这个安装源呢,它是默认是在国外的,咱们有的同学呢,在安装的过程中呢,会出现呃比较慢或者卡死的情况,那咱们这边呢,可以安装一个国内的镜像源, 来,咱们看一下如何来添加镜像源啊。啊,我们这边呢,大家看在这个 add package 这个前面有个小箭头,我们点一下,这边有个小齿轮,我们点一下。好,那这时候呢啊,咱们点个加号 啊,他就会安装一个镜像员啊,点加号,然后呢这个呢就是镜像员的名字,那咱们可以安装一个清华的镜像员啊,咱们就写个清华,然后呢这边呢是把这个镜像员的这个网址呃,输到这个地方来,咱们把它拿过来啊, 来看这个呢是清华的,我们点击 ok 就 可以了。来看,如果咱们还想添加更多的镜像源啊,在这加加号就可以添加更多的镜像源了,我们点击 ok, 好, 呃,这时候呢添加进去了,然后咱们刷新一下,哎,大家这时候呢产生了一个清华镜像源来,我们现在呢再来搜索一下 p y q t 五, 哎,大家看它默认呢 type, 这个是在前面的啊,来,咱们找清华的里面的内容啊,我们来看一下,我们在这清华里面啊,我们再来搜一下 pyqt 五。 好,大家这时候呢清华的这个库呢显示出来很多的内容了,咱们点击一下这个 pyqt 五, 好,这时候呢它默认是安装最新的版本啊,那咱们直接点一下 install, 哎,这时候呢就开始安装了, 好,再看安装成功了是吧?那咱们还要再安装一个叫呃 p y q t 五 tools 这工具啊,呃,是那个 q t designer 的 安装包,来 p y q t 五 tools, 来,咱们来选清华的,然后安装 好,嗯,那这时候大家看安装好了是吧?那咱们来新建一个文件看看,测试一下这个库啊,有没有安装好 new。 然后呢? python 啊,咱们就写一个测试吧, 来,我们点一下,就说 from 啊, p p y q t 五点 q widget import, 然后呢我们写一个,比如说 q application, 大家看现在能导入应该是没什么问题了,这时候大家看,呃, pachum 提示我啊,再安装一个这个工具啊,这是一个输入提示的,那咱们也就安装好了,我们点一下啊,安装一下。 好,安装好了,下面呢咱们配置一下这个图形化设计工具,叫 q t designer, 大家看啊,咱们实际上安装到什么位置了呢?我们安装这个位置,然后有个 lib 啊,这里面呢,大家看,咱们在这个 q t 五 application 里面 啊,我们点击一下 qt 啊,打开并文件看看,这个呢文件啊,这个呢,就是就是图形化设计界面的这个工具啊,来,咱们把它打开一下,我们在这个浏览器里面打开啊, 好,大家看,我们双击运行一下,哎,大家看这个呢,就是 q t designer 啊,咱们通过它呢可以进行图形化设计这个界面。好,那咱们现在呢想把这个呃图形化设计界面这个工具啊,给它集成到咱们这个拍叉里面,咱们以后呢使用起来呢,会比较方便。 来,咱们看一下这个工具呢,如何给它集成进去。来,我们点一下 fire, 点一下这个 settings 啊,我们来找一下,这边有个 tools 啊,这边有个 external tool, 我 们之前呢我是给它加了啊,我现在把它删除掉, 我们重新安装一次啊,选中删除啊,好,来,咱们首先点击加号啊,然后呢我们这边就写一个,就是,呃 q t designer, 大家看这个名字啊,咱们可以随便取啊,我们建议大家呢直接写啊这个 q t designer, 大家看下面呢咱们要填写呃,下面几个参数了。第一个参数呢,咱们就要指定一下咱们刚才那个 q t designer 啊所在的路径,来,咱们选它一下啊, 那咱们路径呢是在哪呢?在这个 p u q t 五 learn 下面,然后这里面 选择一下啊,它实际上是在 pyq, 在 qt 五 application, 然后 qt bin 啊底下呢,打开,我们把这个文件选中,我们选 ok, 来打开啊,这样呢这个路径呢就添加进去了。好,下面呢咱们把这个位置啊给它改一下,这个是什么呢?就是当前的工作文件夹 啊,咱们可以选这个,但是呢咱们可以选一个参数啊,这个参数呢就能动态的来找到咱们当前的这个工作文件夹,咱们推荐大家用这个参数啊,来这个参数呢,我直接拷贝在这里啊 来看,然后呢我们点一下,然后呢我们点一下, ok 啊,大家看这样子呢,我们把这个 qd dataset, 咱们就给它集成进去了, 下面呢咱们还要再集成一个叫 p y u i c, 这个是什么呢?它能把咱们 q t d z 呢设计的这个 u r 文件啊转换为 python 文件啊,咱们可以在命令行输一串命令来完成,那咱们通过这个集成这个命令进去呢,以后呢,咱们想生成这个 python 文件就变得非常方便了, 来,我们加一个,然后呢名字呢,咱们给它起个名字啊,就叫做 p y u i c。 好,那我们看这个位置啊,现在我们填一下这三个参数啊,第一个参数,大家看这个参数呢,咱们要填写一下 python 解释器所在的位置,来,咱们点一下这个文件夹,来,咱们找一下 python 解释器在哪里啊? 啊,大家看我的 python 解释器在这啊,点开是吧?啊,这边有一个 python 点 exe 文件,打开选择, ok, 啊,这是我的 python 解释器啊,就是三点九版本这个 python 解释器所在的位置。好,下面呢我们填一个参数,这个参数呢就是咱们要运行的那串命令啊,这串命令呢有点长,我直接拷贝过来啊, 大家也可以在咱们提供的课间里面。呃,找到这串命令啊,咱们直接拷贝过来啊,大概意思,什么意思呢?哎,咱们要运行一下这个 pyus 啊,然后呢把这个文件啊转换为咱们这个 python 文件啊,就是把它里面那个 u r 文件啊转换 python 文件。好,那这边呢咱们再填写一下这个工作目录啊,来看,我们推荐大家使用这个 d r r 来写一下,这样子呢动态呢,能找到咱们当前的目录啊,我们点击下, ok, 好,这样两个添加好了,是吧?我们再点击一下, ok, 呃,大家看,我们现在测试一下,看看这工具有没有集成进去啊。那咱们点一下 tools, 然后呢点一下 xin tools, 然后呢点击这个 qt designer, 大家看,现在呢这个 qt 设计师啊就被调用出来了。好,那咱们现在啊随便点一下创建, 然后呢我们随便啊拖动一个按钮过来啊,这时候呢咱们就创建界面来,咱们给他点击保存一下啊,打开默认位置呢,就存到咱们当前的这个工作目录下啊,咱们给他随便起个名字啊,就叫 test 一 啊,然后我们保存, 大家看啊,这时候呢,这边生成了一个 test 一 u i 这个文件啊,这个 u i 文件呢,我们直接呢是用不了的,咱们要给它转换为 python 文件才可以使用啊,看来咱们点右键,然后呢再 x and toast 点击这个 py uic, 哎,大家看,这时候呢就生成了一个 ps 文件,这个呢就是咱们刚才设计的这个界面,这个代码好,到这里面呢,咱们就已经安装成功了。好,那我们来再回顾一下咱们这节课内容啊, 你看,咱们首先讲了这个安装这个 p y q t 五这个呢,咱们这边是需要这个 python 三千九这个版本啊, python 三千九这个版本,呃,咱们这边有个注意点啊,就是说,呃,安装路径里面呢,不能有中文啊, 安装路径不能有中文。呃,那我们下面又安装了这个 p y q t 五 tools, 这个安装好以后呢,哎,咱们就要找到这个 q t designer 这个文件所在的位置 啊,找到位置之后呢,咱们给它集成到咱们 pycharm 里面了,创建了一个 qt designer, 相当于一个快捷方式啊,咱们这样子呢,可以通过 pycharm 直接调用这个 qt designer。 好,那咱们还创建了一个叫 p y u i c 啊,这个呢,它就是能把这个 q j designer 创建出的这个 u r 文件啊,转换为 python 文件啊,转换为 python 文件之后呢,咱们才能使用,最后呢咱们进行了测试,好,这就是这个内容,谢谢大家。 大家好,我是讲师 perry, 这一课呢,咱们来创建第一个 p y q t 五的程序,咱们创建一个程序呢,咱们需要两个基本要素,一个是创建一个应用,另一个呢是一个窗口。来,咱们打开拍叉 来,咱们先给大家理清一下这几者的关系啊,那来看咱们所有的这个 p y q t 它都是应用啊,所以呢,咱们首先啊要创建应用,这个应用呢,咱们在这个 p y q t 程序里面呢,都是用这个 q application 这个类来创建的 q app kitchen 这个类创建的好,咱们下一步啊,就是要创建创建窗口,创建窗口呢,咱们有很多的这个类啊,我们待会给大家介绍好,创建完窗口呢,这窗口里面空洞洞的,没有任何东西,对吧?那咱们还给他创建一些控件, 来,咱们看一下,那咱们呢,首先啊,这边是需要一个窗口, 对吧?这是一个窗口啊,窗口呢里面要需要些内容,对吧?比如说啊,咱们弄一个输入框,我们这边呢,比如说啊,这是要填写用户, 用户名是吧?然后呢我们要填写这个密码,对吧?那后面呢,咱们要跟两个输入框, 对吧?书框,这是用户名是吧?哎,这个呢是密码对吧?弄完了以后呢,咱们还要呃点击,就比如说确定取消,这里面呢,比如说啊,咱们写一个 输入密码,输对了咱们就 ok, 是 吧? ok, 然后输错了咱们就取消掉,就 cancel 是 吧? 好,咱们给它放到中间啊,好,那咱们来看一下啊,咱们这个创建窗口,创建的窗口呢,对应的就这部分内容, 大家看啊,咱们窗口呢,对应的就它,是吧?控件打开就这里面的所有这些东西啊,对吧?这里面所有这些东西都是控件,什么输入框呀?按钮啊,包括这个显示的叫标签, 对吧?那咱们整个程序它的运行啊,就要靠这个 q application 来运行,这就是咱们创建一个带界面的程序的一些基本的要素啊。 好,来,咱们先创建一个第一个带界面的程序啊,咱们创建 pyq 五的程序呢,咱们要导入它啊,来 from pyq 五,大家看我们那点以后呢,我们基本上要导入它叫 qt widgets 啊,我们说的什么窗口啊,应用程序啊,控件啊,基本上都是在这个列的下面 啊。好,那我们现在来导入刚才说的那个应用程序啊,叫 q application 啊,这个呢,让程序跑起来。咱们还要导入一些窗口。 窗口呢,咱们有三种基本常用的这种窗口啊,一个叫 q widget 哎,就是咱们刚才说的一个窗口,那这是一个通用的一个小窗口,咱们还有个大窗口叫 qming window, 还有个 q dialog 啊, 我们来简单的讲一下这三者的区别啊。呃, q v, 这次呢就是小窗口啊,咱们弄一些简单的,比如说输入用户名密码,点击确认啊,简单窗口,这个 q m window 呢,它是做一个复杂的窗口哎,比如说咱们这个拍叉姆啊,它就是一个复杂的窗口,它这边带什么菜单栏呀,是吧?这边带状态栏呀, 这边呢?带动导航栏呀,是吧?如果咱们创建这么复杂的一个窗体呢,咱们就要用 qm 啊, dialog, 就是 对话框啊,咱们输入了内容,它让我们确认或者取消,哎,咱们创建一个对话框呢,用 q dialog。 好,那么我们下面再导入 cs 这个库,这个库呢用来接收咱们底层的一些参数的,来看咱们这个 pyq 五的这些程序啊,它相对呢内容比较多,比较复杂,咱们一般呢都是用类的形式来创建的, 那我们来创建咱们一个类啊,这个类呢就管理咱们这个窗口,那咱们用 class 来创建一个类啊,那这个类呢,我给它起个名字叫 my window。 好, 大家注意一下,那咱们这个 window 呢,我的自己的一个类啊,我要创建一个窗口呢,咱们必须啊,要继承它们三指之一,那我们今天呢来创建一个小窗口啊,叫 q widget, 所以呢咱们给它继承一下叫 q widget。 好, 那么下面呢,我们创建类嘛,我们先写一个初识化函数啊, in it super 点儿, in it 好,大家看啊,咱们创建窗口呢,首先啊,要设置一下这个窗口的大小嘛,对吧?来设置窗口大小 啊,我们这边怎么设置呢?用 c f 啊,它这个 q widget 里面的叫什么? resize 这个方法啊,我们在这括号里面呢,就填写咱们宽宽呢,比如说啊,咱们这边写一个四百像素啊,高呢,咱们写这个三百像素。 好,那窗口设置完大小,咱们给它设置一下窗口的位置,对吧?设置窗口位置 set 点来看,咱们用目这个方法,比如说咱们从咱们 x 坐标是六百像素啊, y 坐标呢是咱们屏幕上的三百像素。 好,那咱们设置完了窗口大小位置以后呢,咱们来给这个窗体呢起个名字吧, 对吧?来设置窗体的这个标题是吧?啊? self 来看,咱们用 set window title 这个方法啊,咱们在括号里面直接来写啊,我们来说这是一个什么 p y q t 窗体。 好,那这样打卡,咱们基本上啊就创建了一个窗口了。好,那么我们现在啊,用这个一个接口来调用它啊,来,咱们写一个命这个接口, 首先打卡要创建一个应用啊, app 等于啊,咱们实力划一下这个 q application 这个类啊,这个类呢,咱们需要接收参数,叫 system 点 argv 啊, system argv 呢,它就是能从咱们命令,行啊,来接收一些参数啊,给它传到咱们这个 q application 里面啊, 那下面呢,咱们刚才不是写了个类吗?那咱们给它实体化一下,对吧?我们写个 window 啊,等于 my window 啊,咱们实体化。好,这个窗口实体化完了以后呢,它默认是隐藏的。 哎,咱们要给它打开一下啊,所以呢,咱们这边用 window 点 show 这个方法啊,让它显示出来。好,那现在呢,我们,呃程序创建了是吧?呃,窗口让它显示了,那咱们先让它运行起来 啊,运行起来呢,大家看,咱们一般呢是用这个 app execute 的 这个方法,对吧?但是呢,它运行完咱们让它退出啊,所以呢,咱们一般这样写啊,咱们 system exit 啊,里面括号写一个 app 点 executed, 让它运行起来,然后呢我们把格式整理一下啊,这样子呢,咱们就创建了窗口, 好,来,咱们运行一下。哎,大家看,现在呢,我们就创建出来了一个窗口,对吧?这个大小,大家看,就是咱们自己设置大小,刚才呢这个位置也是咱们这个,其实这个位置,这是这个标题, 对吧?好,那我们现在这个窗口是有了,但是里面空空的什么也没有,对吧?咱们给他添加点内容进去,比如说呢,我们这边添加一个标签啊,这边再添加一个按钮啊,这些东西呢?叫控件啊,窗体上面东西呢,咱们都叫控件。好,来,咱们添加一下控件啊, 好,我们先添加个标签啊,这个标签呢?它的类是什么呢?叫 q label 这个类啊,咱们给导入一下,咱们还要添加一个按钮啊,咱们叫什么? q push button 啊? 好,来,咱们先添加一个标签啊,嗯,这个标签呢,咱们给它起个名字吧,叫 self 点,是吧? label 啊,等于咱们看 q 这个 label, 对 吧?好, label 呢,咱们给它实体化一下,把咱们这个当前的窗体对象传进去啊, 好,这个标签大看啊。呃,咱们是不是要给它设置一下名字吧,对吧?我们就用 set text 这个方法,我们直接里面写啊,呃,这是标签, 对吧?好,那这个标签在咱们窗体里面的位置呢?哎,大家看,跟之前一样啊,就 set 点 label, 点它的位置幕。好,那咱们这边呢给它设置啊,比如说设置在第一百个像素 x 坐标,是吧? y 坐标呢?是两百像素, 这样子呢,咱们就创建了一个标签空间。 好,那咱们再创建一个按钮吧,创建按钮,创建按钮,大家看 self 点,比如说我们 button b u t t o n, 是 吧?咱们就实力划一下这个 q push button, 对吧?神笔,画完以后呢,咱把当前对象给它传进去啊,好, self 点 button 啊,我们要给它设置一个内容标题,对吧?标题 text 啊,我们说这个是按钮吧,我们就说按钮, 然后呢,这个按钮总体有个位置吧。来,咱们来设置下 self 点 button 点幕。好,那么我们呢给它放成同一行吧,第一百五十个像素啊, x 坐标是第一百五十个像素 啊, y 坐标呢?咱们还是两百。好,那这样子呢,咱们添加了这两个东西,来,咱们再次运行一下, 哎,打开这是个标签,这是个按钮,是不是这两个呢?离得有点近,对吧?咱们调节一下 x 这个坐标就可以了啊,刚才呢是一百五十吧,咱们给他加一百像素,让他挪开一点。来,咱们再看一下, 你看打开这是一个标签,这是个按钮,对吧?这样子呢,我们就在这个窗体里面啊,添加了这些控件啊,标签呀,按钮。好,来,咱们再回顾一下咱们这节课的内容, 这一刻呢创建了一个简单的这个带界面的应用程序啊,创建一个带界面的应用程序,大家看,咱们首先啊要创建一个应用才可以,这边呢咱们就使用呃, q application 这个类来创建好。创建应用之后呢,咱们需要一个窗口 好,创建窗口呢,咱们一般啊是有三种方法啊,啊, qm window 呢,它是一个创建大窗口啊,就是包括菜单呀,状态栏呀,导航栏的,对吧?这个 q widget 呢?呃,咱们就创建一个简单窗口啊,就是一些基本内容。 q dialog 呢,就是个对话框啊,这个更简单。好, 那创建窗口呢,咱们最基本呢,要给窗口来设置个大小吧,那咱们用 resize 方法好,要设置这个窗口的位置呢,咱们使用目方法。好,创建完窗口之后呢,上面什么都没有,那咱们要添加控件了, 对吧?那咱们今天添加了两个控件,第一个叫 q label 啊,就是一个显示这个文字内容的标签。第二个呢咱们用这个 q push button 来创建了一个按钮,这就是这个内容,谢谢大家。 大家好,我是讲师 perry, 这一课内容呢是事件处理好,大家看这个呢程序啊,是咱们之前写的,好,来咱们先运行一下, 你看啊,我们在这创建了一个窗口,是吧?添加了两个控件,一个是标签,一个是按钮,我们按下按钮呢,想给它执行一些功能,哎,比如说这个改变这个标签,哎,这时候怎么处理呢?这里面啊,就涉及到咱们 p y q t 对 象之间的一个通信机制,叫做信号与槽, 来,咱们看一下信号与槽,我们先看一下信号啊,然后呢我们再看一下这个槽 好,信号是什么呢?大家看啊,就是在我们点击这个鼠标的时候,不是有个点击事件吗?对吧?那这种像点击是吧?单机双击这种事件啊,就叫信号, 那点击了以后,哎做什么呢?那这里面对应的槽啊,那槽就是咱们说的,这叫事件处理者啊,就说碰见这件事呢,咱们怎么处理 好?大家看这个关系,就是信号触发了槽函数,槽函数呢,他就能完成一个动作啊,比如说呢,我们今天啊想改变一下这个标签的内容, 是吧?那咱们就做一个改变标签内容,对吧?那咱们这个信号呢,跟这个槽函数啊之间就要进行绑定了, 来咱们看一下这个任务呢,如何实现啊?啊?这个按钮呢,咱们要绑定槽函数,那槽函数呢?它实际上也就是处理这个事件的一个函数,来咱们这边呢,首先啊,我们定一个槽函数啊, 槽函数。好,槽函数呢,咱们让它就是改变一下这个标签的内容, 是吧?那咱们就是起个名字叫,呃,按钮啊,点击了啊, click 是 吧?好,之后做什么呢?来看咱们 self 这个 label 啊,这个标签啊,我们给它重新设置一下它内容 set text, 对吧?那咱们就给它写下叫点击了,是吧?那好,那我们看,我们是希望按了按钮来触发这个槽函数,所以呢,它们中间啊,就是信号与槽呢,咱们给它绑定一下,对吧?来 self 点 button, 好, 什么事件呢?来看点击的事件啊,点击呢,咱们这边用 click 啊,然后跟它绑定。用什么方法呢?用 connect 啊,绑定以后括号里面呢,咱们就填写一下槽函数的名字,那它是 self 点 button, 点 click 啊,大家注意一下,咱们填名字的时候不要打括号,我们只填函数的名字,哎,这样子呢,咱们就能够实现绑定了。来,咱们再次运行一下, 大家看,我们点击一下按钮,大家看,点击了,呃,这样子呢,咱们通过点击啊,这个信号触发给曹函数啊,然后绑定好,然后就把这个名字呢给他改变了。 好,大家看这个呢,是咱们触发控件的时候啊,啊,完成的一个绑定动作。好, 那咱们其实呢,在咱们这个 pyq 区里面呢,还有一种事件叫做鼠标事件和键盘事件,就说咱们不是点击一个控件啊,我们单纯的按下鼠标,按下键盘,这时候触发的事件咱们怎么处理呢?我们就要改写咱们这个鼠标和键盘的事件了 啊,我们把之前的内容呢先给它注视一下。好,来我们看一下啊,我们来到改写就说,嗯,鼠标事件, 那我们这边呢,来看一下鼠标事件,它原本是叫什么呢?叫 mouse 啊, mouse 就是 鼠标的意思啊,那它有按下的事件和这个呃释放的事件啊。好,我们先看一下,按下 mouse press event 这个事件,这个事件呢,它需要传一个参数啊,咱们给它接收一下,叫 event event, 当这个鼠标左键按的时候呢,咱们发现了,咱们就给它在这个标签上显示啊,按鼠标左键了,右键呢,咱们就显示按右键了啊, 好,那我们看这里面呢,咱们要判断一下 if 这个 event 点这个什么 button 好,如果等于鼠标的左键按下,或者右键按下这里面呢,咱们要导入一个呃 p y q t 的 一个 q t call 的 一个库啊,来这个库呢,能完成对这个鼠标按键的识别啊。 from 来看 p y q t 点叫什么? q t call, 咱们导入一下这个 q t 啊这个类啊,好,那我们看如果这个事件等于 q t 点这什么左边按键啊? left button 啊,如果是左边按键呢,那咱们就给它来进行设置啊。 self 点 label 点 set text 啊,我们就需要鼠鼠标左键按下,对吧?好,那如果是右键呢?来,咱们看一下 else if 好, 还是 event 点 button 是 吧?如果这个按键等于 q t 啊,右键右键就是 right button 的话,那咱们 self 点 label 点设置下这个标题内容啊。 set text, 我 们就写鼠标右键按下。 好,那如果鼠标左键也没按下,右键也没有按下,那就 else 是 吧? else 呢,咱们就写这个 label 点 set text, 我 们就写鼠标未按下, 对吧?来看,这是一个鼠标按下的这个事件,咱们进行重写了,来,咱们运行一下啊, 你看,我现在点一下鼠标左键,哎,鼠标左键,我点一下右键,是吧?左键右键,左键右键,是吧?这样子呢?他就呃把这个事件给捕获到了, 是吧?并做了一个相应的处理了。好,那咱们再把这个呃鼠标释放,就是我按下了,然后释放掉,这个过程呢,也捕获一下啊。好,那我们写下,那我们这边呢?还是改写这个事件啊?叫 mouse。 什么 release 啊? release 的 event 事件,对吧?好, 这个事件呢,也是一样的,它也需要传入一个参数叫 event。 好, 那我们这边呢,它只要释放了,咱们不管左键释放和右键释放呢,咱们就给它设置一下 self label set text, 我 们说鼠标释放了, 对吧?来,咱们把这个释放的这个事件呢也给他捕获一下。来,咱们再次运行一下。来看,我们先点鼠标左键释放了,是吧?右键释放,看,是吧?这样子呢,咱们把整个鼠标这个过程呢都捕获了啊, 大家既然能改写鼠标的这个事件,咱们一样能改写键盘的事件啊,对吧?那我们现在改写一下键盘按下的事件和释放的事件啊。来,我们这边是 key, 是吧? key press event, 对 吧?好,同样的也是要传入参数 event。 好, 那我们直接写 self 点 label。 好, 你这个按下了,咱们就设置说键盘按下了, 是吧?好,那我们这边那就再写一个键盘释放的事件吧,对吧?我们叫 key release release event, 对吧?好,我们这边呢,把这个参数也传入下一 event, 是 吧?啊? self 点 label, 点 syntax 啊,我们说键盘释放了, 对不对?来,咱们再次运行一下,看一下,哎,键盘按下释放,按下释放,是不是这样子呢?咱们就捕获到了鼠标和键盘的事件啊,那咱们再来回顾一下这节课的内容啊, 哎,这课呢,咱们首先呃,讲了一个信号与槽,哎,这是什么呢?这个呢,是咱们 p y q t 里面对象之间通信的机制 啊,通信的机制什么意思呢?就是我这个对象和另一个对象呢,之间要传递一些信号,传递一些内容,怎么传递呢?就是靠信号与槽, 好,那怎么传递呢啊?首先我们看一下信号是什么呢?信号就是一些,比如说鼠标,单机啊,双击啊,滚动啊等等等等,对吧?好,出现了信号,那让它处理什么事呢? 那这个事件的处理者呢?就叫槽,我们或者叫槽函数啊,把它信号和槽之间绑定了,哎,咱们就能完成对键事件的处理了。 像另外一种情况啊,像鼠标和键盘这种,呃,事件的处理呢?咱们 p y q t 呢,是有单独的一个函数的啊,像这个鼠标按下和释放的事件,那叫 mouse press event, mouse release event。 好,咱们如果想对这个鼠标按下或者释放这个事件呢,单独进行处理的话呢?哎,咱们就可以改写这个函数, 同样的键盘呢,是 key press event 按下这个事件, key release event, 键盘释放这个事件,对吧?咱们如果想对键盘这个按下和释放的事件啊,重新改写或者进行处理呢,咱们就改写它的这个函数就可以了,这就这个内容,谢谢大家。 大家好,我是讲师 perry, 这一课内容呢,咱们讲一下布局管理,咱们之前呢往窗口里面添加控件的时候呢,咱默认呢使用的是绝对布局,什么意思呢?咱们就给它给一个固定的位置,这种绝对布局带来一个什么问题呢?当咱们窗体的大小发生改变的时候呢, 它的位置不变啊,这样子呢,咱们整个布局呢就呃有时候呢就不好看了,呃,或者说呢就会出现问题。 好,那这节课呢,咱们给大家介绍一下布局管理啊。啊布局管理呢?嗯,咱们分为水平布局啊,垂直布局,板块布局,还有表单布局。好,咱们首先看一下这个水平和垂直布局啊,水平布局和垂直布局呢,咱们用到一个叫盒子布局管理器。 好,大家看,那比如说啊,咱们现在呢创建了一个啊这个窗体了,对吧?这个窗体里面呢,哎,咱们想有序的 竖着放一些内容,或者横着放一些内容,这时候呢咱们就可以用咱们这个盒子管理器啊,比如说呢,咱们现在想给他竖着放一些内容,对吧?想竖着放的内容呢,咱们可以用一个垂直管理器。哎,咱们可以先添加一个这个盒子 啊,这个盒子添加完以后,咱们再往里面放东西的时候,你们会发现这里面的空间啊,他就挨着排,这样整齐的,这样子能够摆放, 它就能够整齐的摆放,而且呢当你这个盒子发生变化的时候呢,它也跟着相对进行变化啊,咱们这里面啊放的就是一些控件啊,比如说呢,咱们这边放一些什么按钮 是吧?还有一些,呃,标签等等等等,这盒子就是名字叫做 q v box layout。 好, 来,咱们看一下如何先创建一个这个垂直布局啊。 好,那咱们要先导入相关的类啊。啊,我们这个 q v box layout, 这是一个垂直布局,那咱们把相对应的水平布局呢,也一起给它导入了 q h box layout。 好,那咱们先创建一个盒子,先给它做一下实力化。好,咱们先创建一个垂直的 v layout 啊,等于咱们叫 q v box layout。 好, 那么我们现在把这个盒子创建好了,咱们往里面塞一些按钮进去吧, 对不对?来,咱们写一个按钮 b t n e, 是 吧?那咱们用这个 q push button 来给它实力画一个,对吧?好,那咱们这边用一下这个 q push button 啊, 我们这边 q push button。 好 啊,咱们直接可以写下按钮的名字,对吧?咱们这边写按钮一,那我们这边呢可以把这个 self 参数带进去啊,来,咱们再给它进行一下复制一下,对吧?来,咱们复制一下, 那么把这个改下名字啊,这个就是按钮二,是吧?啊?按钮二,按钮三好,按钮三好,现在呢?按钮咱们创建好了,现在呢要给它放到咱们这个盒子里面, 对吧?就是啊,把按钮放入盒子, 那我们这边使用这个 v layout 啊,我们里面用什么方法呢? add widget, 哎,就添加空键的意思。好,把 b t n button e, 哎,我们给它塞进去,对吧?然后呢,我们 v layout, 我 们按照顺序塞啊, 我们这边 add widget 啊,咱们把第二个按钮塞进去。好,我们再可以塞 add widget 第三个按钮。 好,大家看咱们这个盒子啊,现在要放到咱们这个叫什么 q widget, 咱们窗体里面啊,咱们还要再设置一下 self 咱们当前的窗体啊, set layout 啊,设置这个布局,那就把这个咱们这个 v layout 哎,给它放进去了,对吧?来,咱们现在运行一下, 但我们现在垂直放了三个按钮,对吧?当我们变化这个窗口的时候,这个按钮呢也跟着变化, 对吧?好,那么我们现在呢,想把这个按钮啊,这个按钮呢放到最顶上,这个按钮三呢放到最下面啊,咱们可以给它加一个叫类似弹簧伸缩器的东西。 好,那我们首先啊,怎么加呢?我们在按钮一和按钮二中间加个弹簧,把它弹住,按钮二和按钮三之间再加一个伸缩器啊,来我们这边儿 v layout, 我 们 add, 打开 stretch 啊,那加个伸缩器呢,我们这边儿填个比例啊,我们填一个一啊,就是比例是一啊,好,那我们这边儿呢啊,再来添加一个伸缩器 v layout add stretch 加一。好,来,咱们看一下, 暂停一下,来,咱们再次运行一下来,再看这个按钮是不是就被分开了,对吧?当然这是个比例,对吧?我们把它改成二的话呢,它就会上靠上一点,对吧?来,咱们改一下二, 来打开它就靠上了,是吧?这个就比例是一比二啊,就这个意思。 好,那这是一个水平布局,水平布局呢,跟垂直布局是类似的, 那我们看一下啊,那我们这边,比如说啊,我们现在这是一个水平的盒子,对吧?那咱们放进去的东西呢?比如说放按钮吧,那它就这样子放啊,这样子一个一个放进去了啊,这空间就这样放进去了, 对吧?来,我们把这边呢,大家看这个 q v 呢,我们简单的给它改成 q h, 其实它不变就可以了。来咱们来运行一下, 哎,大家看这个按钮一,按钮二,按钮三,是不是他现在就变成这种水平布局了?你看中间的这个都是按照比例来的,对吧?这个是一比二的关系,对吧?这中间这个空间这个距离啊,他就一比二的关系。 好,这个呢就是咱们说的水平布局和垂直布局啊,我们简称这盒子布局管理器啊,我们这个简称啊就叫盒子布局啊。好,那么我们看一下下面一个,这个是一个盒子布局, 咱们再讲一个网格布局啊,网格布局,网格布局跟这个垂直布局和水平布局有什么区别呢?来我们看一下,我们这边,比如说咱们这边有一个布局叫网格布局, 网格布局以后布局好了以后呢?哎,他就能成网络状啊,比如说呢,大家咱们这边给他这样子划分一下,是吧?好,那我们这样子划分一下,他就成了网格布局, 咱们的空间呢,大家就可以填到相应的网格这里面啊,怎么填呢?大家,那比如说这个位置呢?他是第一行第一列,对吧?那这个呢?是第一行第一列,对吧?那咱们这个是第一行第一列, 对吧?那这个是第二行一零列,哎,咱们只要把相应的这个数字一填,哎,咱们就能给它放到对应的这个区域了啊,这个就是网格布局管理器啊。哎,咱们来看一下如何来实现啊? 那咱们要导入相关的库啊。嗯,那个网格布局管理器呢?是 q grid layout, 我们看一下,首先呢,咱们要呃实力划一下,我们叫 g layout 啊,等于这个 q grid layout 啊,先给它实力划一下。 好,那么我们再添加点按钮吧,对吧?我们把这个添加按钮的程序呢?咱们直接给它啊拷贝过来啊。好, 好,我们再加几个吧,多加几个我们看一下,比如说,那我们这按钮啊,比如说是四啊五啊,这个是按钮四,按钮五。 好,那咱们看一下这个按钮如何添加进去呢? g 啊, get 好, 我们 add vint, 对吧?我们要添加这空间了,怎么添加呢?先写一下空间的名字啊,比如说这个叫八藤一,那添加哪个位置呢?哎,第零行,第零列, 哎,咱们给他指定个位置是吧?那好,那咱们剩下的呢?哎,加一下八藤二是吧?好,咱们是第零行,哎,第一列, 来,咱们再来加一下 add widget button。 好, 我们是第零行,哎,第二列,好,那咱们再加一下 gedit add widget 啊, button 三啊,嗯, button 四啊,刚才这个呢,应该是三啊,我们给它改成改成三, 那四呢?咱们现在改成,哎,比如说第一行,第零列 是吧?那好,我们再来加一个 add widget, 八层五,按钮五是吧?好,那咱们也是第一行,比如说呢,咱们改成第二列 是吧?咱们给它空一个。好,那这些按钮添加到这个 g layout 里面呢?咱们这个网格布局呢,也要添加到咱们这个 q widget 啊,咱们这个窗口里面,对吧?来,咱们设置一下啊,我们当前的窗口对象 set, 对 吧?然后 set 列 out 是 吧?把这个 g 列 out 放进去。来,咱们来运行一下。 哎,大家看,现在呢就实现了一个网格布局了,是吧?这边呢就按照咱们这个顺序添加的,那其实呢咱们这个数字呢啊,可以就说网格这数量啊,那咱们可以给它这边呢空一个。好,那咱们再改个这个数字啊, 咱们把它先关了,这边呢我们给它改成一个三,来咱们看一下效果。哎,大家看,实际上现在我们看这一行变成四个按钮了,是吧? 对不对?这一行给它空过去了啊,所以呢咱们只要通过填写这个网格相对应的这个行号和列号,哎,咱们就能实现这个网格布局好,这个是啊,网格布局 好,咱们下面看一下表单布局的。表单布局好,表单布局呢,咱们这边用到一个叫做 q form layout, 来,我们看一下,导入一下 q 啊, q form 列表好,表单布局呢,咱们给大家说一下它是这样子的啊,比如说咱们像制作这种输入用户名,输入密码这种窗体的时候,咱们会用到这种表单布局, 比如说大家看啊,咱们这是个表单布局,对吧?表单布局呢,我们比如说啊,它呢都是按行来加的 啊,那比如说我们这一行加入一些内容是吧?这一行加入一些内容啊,通常呢第一个呢咱们添加一个标签啊,比如说呢,我们添加一个用户名,后面呢咱们就可以添加一个输入框了, 输入框是吧?那我们这边呢,比如说添加密码是吧?密码,比如说这个密码咱们给它改成红色。好,那我们这边呢就要添加一个输入框了,对吧? 好,它就是按照这样一行一行的这样添加的。我们看一下这个表单布局如何来实现啊? 表单布局呢,咱们也给它先实体化一下 for layout, 等于这个啊, q form layout, 对 吧?好,那咱们想给这个布局呢,我们先添加一个用户名和密码,对吧?来 f layout, 我 们这边 add row。 add row 呢,咱们先添加一个标签啊,就是用户名,然后再添加一个输入框。好,标签呢,咱们这边是用到一个叫 q label 的 东西啊, q label, 好, 输入框呢?咱们这边用 q 来看 line edit, 哎,这个就是咱们这个输入框啊,来, 大家看,咱们同时用 edit 方法添加这两样东西啊,我们添加一个 q label, 对 吧?那我们这里面啊,直接来写一下这个名字啊,我们叫用户名, 是吧?用户名,然后呢后面呢,我们添加一个输入框,我们叫 q line edit, 对 吧?好,我们再添加一行 add row, 我 们这边 q label 啊, q label 呢?咱们就写一个密码, 是吧?密码,然后呢咱们再给它加一个啊 q line edit, 这样子呢,我们就添加了用户名和密码了, 那咱们把这个表单布局呢添加到咱们这个窗体里面啊, self 点,我们 set layout f layout, 对 吧?来,咱们再来运行一下, 这样添加进去了。好,那咱们再还想添加一个什么按钮,是吧?确定和取消啊? 好,那我们来添加,那我们添加确定取消呢?大家看。呃,咱们先添加一个水平布局,把这个按钮呢放在水平布局里面,然后呢再把水平布局放到这个表单布局里面啊,咱们这些布局呢之间呢是可以互相签套的, 我们先建一个水平布局。 h。 啊,我们叫呃 layout q 水平布局呢,咱们是 h box layout。 好, 那咱们先建第一个按钮,第一个按钮呢,咱们就是 button ok, 是 吧?那咱们用 q push button 这个按钮,这个按钮大家看,咱们填写一下,就是确认,是吧?好,大家注意一下,我们经常在后面写个 set 参数,对吧?因为呢咱们这个按钮呢是放到布局里面啊,咱们可以省略掉啊。好,我们再来个 button cancel。 好, q push button 取消,是吧?好,那我们把这两个按钮呢给它放到水平布局里面,对吧?那 h layout 好 吗? add widget, 把 button ok 先放进去,对吧? h layout add widget, 把这个 button cancel 放进去。好,那咱们再把这个水平布局呢给它添加到表单布局里面,对吧?好,我们就 f layout 表单布局 add row, 把这个水平布局放进去, 对吧?最后把这个整个布局放到咱们这个窗体里面,对吧?来,咱们再次运行一下, 大家看我们这边是不是拿到确认和取消了,对吧?好,那确认取消呢?我们现在看起来并不美观,是不是他站的这个位置有点太大了,那咱们这边呢给他加个弹簧,对吧?咱们大家前后呢加个弹簧弹起来,这样子呢,整个布局呢会好看一点。好,那弹簧呢?我们看,我们在这加 h layout 啊,我们 add stretch 啊,加个一,按照一的比例啊,好,那 h layout 我 们在中间再加一个 add stretch, 加一 对吧?啊,我们在这个最后呢也加一个 h layout add stretch, 加一来咱们再运行一下 来打开,这样子是不是就稍微可看了,当然这个比例呢还不是很完美,那咱们到时候呢可以自己慢慢这样调整啊,这样子我们看是吧,这样子就实现了一个这样的输入框了,好,这个呢就是咱们表单布局。来,咱们再回顾一下这一课内容, 打开咱们使用布局管理呢,就可以实现一个相对布局。咱们首先讲呢水平布局和垂直布局啊,水平布局呢,咱们使用这个 q box layout 来创建一个水平布局,相对应的控件呢,咱们就给它放进去。那我们使用这个 edit 的 方法放进去啊,垂直布局呢跟水平布局呢使用方法类似啊,只不过呢这边是用 q v box layout 创建,然后用 edit 方法把这些控件呢塞进去。 下面咱们又讲了这个网格布局,网格布局呢,咱们可以实现网状布局,把相应的空间呢添加到相应的位置啊,咱们这边呢使用 q grid layout 来创建啊,咱们也同样是用 add width 方法呢,把这个控件呢添加到相应的位置,哎,咱们只要填一下行号和列号就可以了。最后呢咱们又讲了一个表单布局 啊,这表单误局呢,咱们通常是按照行的方式来添加的,比如说咱们的这种用户名密码这种输入框,哎,咱们通常呢是用这个表单布局来完成的。好,这就是咱们这一课内容,谢谢大家。