粉丝91获赞437

大家好,这个视频呢,我们来学习如何安装 p y auto g y 库。我们之前在 python 的基础课程里面学过了如何通过 paper 来安装 python 的第三方库, 这里呢,我们依然使用派法来安装 p y auto g y 库。首先打开终端,输入 pip 三 install p y auto g y 等待安装,安装呢,非常简单和快速,如果出现安装成功的提示,那么我们就可以使用 p y auto g y 库了。

大家好,这节课开始我来介绍一下派奥特 gui 这个模块, 我们可以利用这个模块通过图像用户界面来实现自动化,来处理一些日常繁琐而且步骤单调的电脑操作。在这个网站上有介绍这个模块的文档,如果大家感兴趣的话可以来访问阅读一下。在使用这个模块之前,我要先来安装一下, 用的是 p 三命令,然后 insto 这个拍 out gui 安装成功之后,我们就可以在程序里面直接引入这个模块了。 这里我首先创建了一个拍摄文件叫做 get position, 然后再开头首先引入派 ot gui 这个模 快和我们待会要用到的 tom 这个模块,因为这里我希望先测试一下要用拍奥特之 ui 的 position 方法来得到当前鼠标的坐标位置, 所以这里我用了一个无限循环。在这个 yo 当中,首先打印当前的鼠标位置,也就是调用这个派奥特之 ui 的 position 方法来得到他的坐标值,然后再用 time 的 sleep 方法让他停一秒再去打印下一个坐标值。 写完这段代码之后,我就试着运行了一下,但是发现这个程序运行之后就没有什么反应了,我开始以为是 mikos 的一些我们一身的设置,可能是不让我去调用鼠标的当前位置,所以我查了 一下。在网上有的朋友建议在系统偏好设置里面的安全性与隐私当中,在辅助功能里面再允许下面的 app 控制您的电脑这个列表当中 添加上终端。出于系统安全的考虑,建议大家在平时不用的时候要把这个勾选去掉, 我试着操作之后的确也是可以运行了,只是他的速度还是非常慢。后来我发现在这个例子里面,即使不勾选终端,也可以取到 pc 升的值。运行开始很慢的原因可能是因为我的程序之前用来加载模块的时间太长了。 另外一点呢,由于我写的是一个无限循环,如果要退出这个程序,按 ctrl c 的话,他会报一个 keyboard interrupt 的异常的错误。所以呢,在程序里面,我可以 加一个踹 except 结构来把这个无限循环放在踹当中,然后再 except 里面接收到这个 keyboard interrupt 这个异常处理。如果接到这个被抛出的异常,我可以在前面加上 一个换行符,然后打印出 stop 这个启示,修改之后再次运行。如果要跳出程序的时候, 按下 ctrl c, 就不再有错误的提示了,而是直接弹出 stop 的提示。 初次体验派奥特之优爱这个模块的例子就介绍到这里,大家可以关注我的公众号退役成全的茶室来获得更多信息,我们下节课再见!


截图所需模块,时间模块和 potogry。 安装 piatogui 模块,然后先导入模块。 我们使用 time sleep 方法将应用程序从拍放环境切换到。我们要从中获取屏幕截图的屏幕。要获取屏幕截图,我们使用 pl togui 的屏幕截图方法,并将其存储在 img 变量中。 要保存图像,我们使用 safe 的方法。为注意,此命令会将图片保存到与您正在运行的拍放文件所在的目录相同的目录。最终原代码如下所示,你学会了吗?


你现在看到的是一个简单的微信自动聊天器的代码,让我们运行它。 运行他之后呢,我们打开微信的窗口,这个时候当你的女朋友发来消息时,他会预先帮你回复设置好的内容,当你有多个女朋友同时来消息时,他也能应对自如。 看完这个视频,你就能学会做这个。首先假定你已经安装了拍摄,那我们就来看一下 pyotgui 的使用方法吧。 它主要有三个模块构成,第一个是 鼠标操作,鼠标操作呢,我们有这么一些 api。 首先是木兔,一百和两百分别是 x 则和 y 则的坐标,这个方法的意思就是将鼠标移动到 x 则上为一百, y 则上面为两百的。这个 更多的 aps 用方法可自行查看 window。 接着第二个就是键盘操作,键盘操作有这么一些 api, 首先是 red, 它能写入英文的一些单词,能方便你快速的输入一些东西。更多的 aps 用方法可自行查看 window。 接着第三个是图像操作,图像操作呢,也有一些 api, 这个 project 选就是获取当前鼠标的 x 折和外 a 者的坐标赛,就是当前屏幕的尺寸,我现在屏幕的尺寸是幺九二零乘以幺零八零的。这个 这个就是载入一个图片,他会在屏幕上面识别这个图片,并返回他的坐标。接着我们要使用 pyotogoi 来实现一个微信自动聊天器, 他具备三个功能,第一个就是监听并回复消息,我们来看一下代码,首先呢,他得监听消息,所以我们就截了一个图,每次微信来消息时 都会有这么一个标识,然后我们使用了一个 wes 宣传,去监听屏幕上面有没有这个图片,如果有这张图片的话,我们就移动鼠标到这个图片的位置,然后就执行点击的事件,这里漂漂过还不能直接输入中文,我们就 使用派上酷派跑力来实现,然后只要执行他的 copy 方法,最后我们执行一下热线 hat, 最后使用热线按下回车就可以把消息发送出去了。 第二点就是自定义回复内容,可以看到这里我们定义了一个数组,然后使用快算库 random 随机返回一个恢复, 就可以实现随机回复预示内容的功能了哦。第三点就是多条消息的回复,对于多条消息的回复,我们也是使用了一个新的 api 或取桌面上多个消息标志, 并返回他们的坐标,然后使用一个 for 循环进上面,同样的操作就能达到同时回复多条消息的目的。最后微信自动聊天机的代码放在公众号上了,有需要的可以关注公众号程序员小兵回复微信聊天机获取,那我们下个视频见。

哈喽大家好,我是退役程序的妮妮。在上一节课,我们介绍了用 paltojuia 里面的 screenshot 方法来实现截屏的功能。在这一节课,我将介绍如何用这个 screenshot 方法 结合 open cv 这个酷来实现录制屏幕的功能。如果大家喜欢我的课程,别忘了点赞关注哦。首先呢,我们新建一个拍摄文件叫做 recording, 然后在其中第一步当然是要先引入用到的模块,这里面首先引入的是 pot gy, 然后是 cv 二,也就代表着 oppocv 这个库。接着呢,还要引入的是安排这个库, 因为待会我们需要用单排里面的方法来将这个截取的图片翻译成 open cv 认识的格式。然后我们进入主要的代码部分,首先还是要提示 试问一下是否准备好了,如果点击式的话就开始录制,所以这里我拷贝了前节课用到的 ctrl 方法的内容。接着呢,我定义了一个新的边量叫做 wed, 这个值是一个 cv 二里面的 vd read 对象。如果构造这个对象,就需要给出以下几个参数。 首先这个参数是给出了我们要存储的视频的名称,这里因为我是麦克 os 系统,有时候打不开 avi 格式的文件,所以这里我用的是 mpfo 的格式。第二个参数设置的就是这个视频的编码,这里调用的方法是 video rector 下滑杠 boss ac 这个方法。这里需要的参数其实是一个字符串,这里也可以通过给出这个字符串一个个单独的字符来代替,所以这里用的是 mp, fo 和 v 这四个字符下, 这个参数给出的是每一秒钟来截取的整的数量,这里我设置了七,大家也可以改变这上面的只看一下最终的效果。最后一个只是给出了 这个截屏的大小,这里我用的是整个屏幕的大小,所以直接吊用的是排摇头制优案里面的 sis 方法。在定义了这个对象之后, 我们就可以来接着写下面如何录制的代码了。首先呢,我们还是判断一下这个确认窗口是否点击的是 yes, 如果是的话,就在其中添加一个无限循环的外奥语句,也就是在这个外奥循环当中不停的来获得截取的图片,然后写到相应的视频文件当中。在这个循环当中,首先我们还是用上节课讲过的排骨头之油啊里面的 skr 方法来获得一个当前的截屏,可以注意到这里没有包含任何参数。在这个 squeenshots 方法当中,这是因为我们并不需要给他任何的名字,这时候我们还不能直接使用得到的这个 squeenshaft 对象,因为他并不能被 open cv 来识别,所以这里又声明了另一个 变量,他要接收的值就是通过 cvr 里面的 cvt cull 方法来加工我们刚才得到的 schemes out 的变量。这个 cvt cull 方法 是一个用于颜色空间转换的方法,他的第一个参数我们这里调用的是 nangpei 的 rv 方法,来将我们得到的这个 schenshall 的对象转换成一个可以识别的矩阵。而下一个参数给出的是这个代表转换类型的整数,这里给出的是一个长 含量,也就是吊用 c v 二里面的卡老下滑杠 r g b two b g r 得到了这个加工后的 frame 之后,我们就可以直接用它来写入了,这时候吊用的是 video 的 write 方法, 而在这个循环当中,我们最终还是要退出来的,所以在这里我说的退出条件是当键盘按下退出键的时候就让他退出。用到的方法是 cvr 里面的 t 方法,它里面的参数单位是一毫秒,也就是每一毫秒我都要判断他是否按下了按键,并且会和后面的十六位数据零 xf f 进行与运算, 如果得到的值十二十七的话,就代表着他要按下的是 esc 退出键,这时候就可以使用 blue key 命名来退出这个循环。而如果只是吊用这个 vc 方法的话,这里面会有问题。我们待会就会看到,在跳出循环之后 后,我们还要做的操作是调用 cvr 的 destroyo windows 方法和 video 的 release 方法来释放这些占用的资源,这样我们代码基本写完了,先运行看一下效果,可以看到当弹出了确定窗口之后,按下了 yes, 这时候其实已经是在录制的状态了,也可以看到 这里面多出来了一个 recording 点 mp for 这个文件。但是呢,我并没有办法来终止这个程序的执行, 即使我按下了退出键,也就是我们刚才条件设置的按下了 esc 键,他也没有跳出来,所以不得不还是强制执行了,按下了 ctrlc 强制跳出。这时候我尝试打开 recording 这个 mp tfboy 文件也没有成功,这就是由于我们是中断了程序直接跳出来的,并没有执行到最后两个释放资源的命令。在一些其他的环境,如果按 ctrl c 直接跳出,可能这个视频文件是可以打开的,但是目前我这个环境是不行的。因此我曾尝试用踹和 excel 的方法来捕获这个 ctrlc 弹出的异常,然后在 etc 里面释放了些资源,但是也失败了。我想这可能是由于我这个项目里面还引入了其他的模块,像 opencv 这样的模块有可能还没轮到我这个 try 和 etc 来补货这个异常的时候,另一些模块已经补货到这个异常 就让程序终止了。所以 except 里面想释放这些资源,并没有执行到最后呢?我终于找到了为何案件无效的原因。这是由于 这个 vc 方法,它需要一个窗口,一个给出了名字和大小的窗口,在这个窗口打开的时候,它可以感应到这个按下的推出键。因此我在 f 一局判断之前,又调用了 cvr 的内幕的温的方法 和 resize 方法。其中内部的温的方法是创建这个命名的窗口,第一个参数给出了这个窗口的名称 recording, 他的第二个参数,这里我给出的是吊用 cvr 里面的闷倒下滑杠脑某敞亮,他代表的意思是允许手动来改变这个窗口大小,如果使用的是默认值,也就是不给出这个参数的话,他会 自动设置窗口的大小。而下面我又调用了 resize 奋斗方法,通过这个方法,我设定了窗口的大小,长和宽分别是五百。接着我们再运行看一下, 弹出了确认窗口之后,我点击了 yes, 这样程序就开始录制屏幕了。我这里可以先移动一下终端的窗口,然后可以看到左方出现的这个 recording 窗口,就是我们最后补充的这个窗口, 这个窗口就能帮助我们识别按下 esc 键,当我按下 esc 键的时候,这个程序就退出来了,然后我们打开生成的这个叫做 recording mpfo 文件,再看一下,可以看到刚才的动作 都已经被录制了下来。好,这节课就讲到这里,对这节课的补充和圆满,我会发布到我的公众号退役程序员的茶室,欢迎大家关注。

大家好,上节课我们通过自动将鼠标移动到指定的坐标位置,然后实现打开浏览器并访问网页这样一个操作。但是他会有一个问题,就是如果我们这个浏览器的图标位置发生变化的时候,我 我们这个程序就不能再成功执行了,他很可能点击到其他的图标,例如这里我点击到了邮件的图标。这节课我来介绍如何通过定位这个浏览器图标的位置,然后实现打开一个网页的操作。这里我先新建一个拍子门键,叫做 fundbymen 缩写,然后我把上节课的代码全都复制到这个新的拍摄文件当中。上节课我们首先将鼠标移动到了指定的坐标,但是当浏览器的图标并没有在这个坐标的 时候,鼠标点击的时候也就点错了位置。所以这节课我用的方法是将浏览器的图标进行一次截图,把它的部分进行截屏,将截图起名为 icon, 点 png, 然后 png 文件考分裂到我们的项目当中。接着在程序里面我们就可以调用 派奥特 gui 的 locate on screen 这个方法,也就是在屏幕上定位这样一个方法。定位什么呢?也就是定位我们刚才截屏的这个 icon 点 png, 它的功能就是在当前的屏幕上来查找 与这个图片吻合的区域,然后把这个方法返回的对象复制给一个新的边量,叫做 icon log。 接着的代码我们可以保留上次的坐标位置来让鼠标移动到下面,这样可以打开程序屋。然 然后我们就可以判断 icon lock 这个对象他得到的是什么样的值,如果他一直保持的是浪的状态,就让他继续寻找,并且用 print 的语句打印出这个 icon lock 的值。 如果这个 lock the on screen 方法定位到了我们给出的这个图标,他就会跳出这个循环,然后就可以直接用这个 icon log 作为参数传递给派奥特之优爱的克里克方法。下面我们先进行看一下, 可以看到鼠标已经成功移到了下方,但是程序并没有找到这个图片,而是一直打印出这个 iclock 是空的状态。这时我们就要考虑有两种情况。首先我们要查看一下在系统编号设置里面,这个安全性与隐私里头 的屏幕录制是否添加进了终端这个应用程序。因为麦克 os 他是比较重视系统安全的,所以如果你要调用这个屏幕录制,你需要给他这个权限设置之后我们再进行看一下,可以看到这一次他就找到了这个 icon png 的位置, 他返回的对象是一个 box 类型的对象,也就是这个图标当前的区域。但这次还是没有成功打开浏览器,这是因为浏览器还没有及时打开,可是程序已经点击了这个图标的位置。 为了解决这个问题,我还是用定位这个屏幕上某个图片的位置来确定这个浏览器是否已经打开了。所以我们先打开一个浏览器,然后截取这个浏览器,打开时候地址栏显示的文字,然后把这个截取到 的地址栏默认显示的文字,这个截屏改名叫做 bross 点 png, 然后把它拖拽到我们的项目当中。接着在代码里面还是通过调用派奥特之 ui 的 ok 的 on screen 方法来定位这个刚才拷贝的这个 browser 点偏 g 返回的值付给变量 browser lock。 在 yo 循环里面还是不断判断这个 browser lock 是否等于空,也就是闹,如果等于的话就继续执行这个循环。在循环当中还是在不断的定位这个图片,并打印出 browser lock 这个变量的字,这里有一个地方写错了,在打印的时候应该把 icon log 变成 browser lock, 下面还是用 browser lock 作为参数传递给派 auto g u i 的 这个方法。这时候我们再来运行一下, 可以看到鼠标移到下方之后,他并没有找到浏览器图标,这也就是我们第二种情况,也就是有可能我们截的这个图标有略微的变化, 他可能也无法识别的,所以这时候可以再次截一下这个图标的截图,然后替换他原有的这个 icon 点 png 文件。做了这个重新替换之后,我再来运行看一下,可以看到这一次浏览器就成功打开了, 并且正确的访问到了必用的网站。录完这节课后,我发现运行这个程序还是并不能保证每一次都成功,如何来大大提高他的成 功率呢?其实在 locky on screen 这个方法里面添加一个参数就可以了,到底是什么样的参数呢?我将在我的公众号退役程序员的茶室里面进行补充,欢迎大家关注。

首先呢是介绍一下拍一层现在的 gui 框架,然后呢是我们要讨论一下为什么我们要使用 pyqt 这个 gui 框架。最后一部分呢是我们本课程的学习内容介绍。 好,我们先看一下第一个内容,嗯,我们 如果想学习拍层开发 gy 程序的话,首先要了解一下拍层已经有了哪些 g o i 框架。然后呢,调研好这些 g o i 框架之后,我们要深入去了解这些 g o i 框架的显示效果和他能运行的操作系统平台。 再进一步呢,我们需要去调研学习某一个 gy 框架的这个学习成本 啊,我们这里谈的这个学习成本主要是这个时间成本,因为他每一个 gui 框架都有自己的特点,他在学习取件是否陡峭,直接影响到我们初学者的这个学习效果。 然后我们再进一步要考虑这个使用这个 ui 框架的开发效率的比较 啊,因为现在的计算机系统他的硬件运行速度都比较快,那么 gy 框架的这个执行效率呢,相差也无几,所以我们主要是考虑这个开发效率的比较,因为大家选择了拍送语言,就是已经是了解了那一句话叫 人生苦短,我用拍蹭吗?从效率上讲,拍蹭是比 c 或者 c 加加加瓦都要慢的,但是呢,它的优点是它的开发效率比较高, 我们节省了大量的开发时间,产品能迅速上市,占领市场,这才是最关键的,计算机多算一点,多运行一会,对我们来说无所谓的,所以呢,我们的开发效率也是一个很重要的考虑点。 那么当我们考虑到以上的影响因素之后,我们会选定一个 gui 框架,根据这个 gui 框架的特点呢,制定相应的学习计划。 那么最后呢,为了检测这个学习的效果,我们需要完成一些实际的项目,根据这个项目的完成情况来判断我们的学习效果。 好,首先我们来看一下拍送现在流行的 goi 框架有哪些。那么第一个首先要介绍的当然就是拍送内置的 这个标准的 goi 框架叫 tk inter。 呃,这个 go i 框架呢,他叫 tk inter 是因为他是拍僧随着他的标准安装包一起发行的,我们使用他的时候不需要在额外装扩展包,直接音炮的就可以用了 啊,还有比较流行的叫啊 wx pyson 啊,这个是 现在用的比较广泛的一个 gui 框架,那么他也是跨平台的,然后呢,这个 py 买 gtk, 呃,看到这个尾坠式 gtk 就应该明白,他肯定是在另一个平台下运行的,非常好 啊。然后就是我们今天主要介绍的这个 pyqt, 还有就是呃, pyqt 的相当于兄弟吧,也就是诺基亚的亲儿子,这个 py 赛的。那么最后呢,我们要介绍一下这个 kiwi gy 框架, kiwi 呢,他自称是 nui 框架,那么实际上呢,他只是针对于多点触控程序的,那么也可以算在 gy 框架之内。 我们先来看一下啊, tk inter, 它是拍送内嵌的旧爱环境啊,本身呢是使用 tcl 实现的,那么我们能从拍送中调用它,是因为拍送的 安装包中内欠了他的 tcl 解释器最出名的这个七 k 因此而开发的程序要属拍发那个拍送标准安装包发行的那个爱豆了,就是我们常用的那个编辑器和迪吧格工具。 这个樱桃的特点是历史悠久,像比较老的语言 pose 中就有对对应的 pro tk, 那么显示效果呢,跟拍层基本上是差不多的,空间也差不多, 派送的标准安装包中包含了 tk 音腿。嗯, tk 的特点呢,就是易学易用,方便创建简单的 gui, 并且他不用安装其他的扩展包。 嗯,因为拍摄是跨平台的,那么 tk inter 他也是跨平台的, 那么他的有一点点的不足呢,就是他 ui 的布局全靠代码实现,那么空间呢,只有十五种常用的空间,显示效果呢,相对要简陋一些。 我们来看下一个 wx plus 啊,他也是一个跨平台的,由私家加编写的这个 gy 库, 那么它属于拍送的这个扩展模块,我们如果想使用它的话呢,使用前需要手动去安装,它,遵循这个 lgpl 协议。呃,可以用来开发自由软件,也可以用来开发商用软件。 嗯,目前这个 wx plus 呢,用户量也很多,但是呢,它的缺点是文档比较少,遇到问题呢,很不容易解决。 呃,这个 gy 框架呢,我之前也做过调研,也也做过试用,感觉呢,就是确实是文档太烂了,遇到问题呢,不太容易解决。然后还有就是他意外布局也是靠代码去实现,也不太直观。 好,我们看一下皮外 gtk, 他是拍送对这个 gtk gy 库的一个封装,那么他也属于拍送的这个扩展模块,使用前需要我们手动安装 啊,品牌 gtk 开发的英文程序呢,在吉他母下居多啊,那么在英语克斯亚运行的很完美,那么但是遗憾的是,在 windows 下的兼容性呢,可能会有一些问题,所以在 windows 的表现呢,不如在英语克斯亚平台下好。 嗯, pyqt 这个 qt 呢,大家不知道熟不熟悉? qt 原来是老的手机厂商诺基亚的产品,后来诺基亚把它卖给了其他的公司 么? qt 的原码呢,是用私家家写的诺基亚,可能现在有一些人已经不太熟悉这个名字了啊,在大约十年前的时候,不用十年前,呃,七八年前的时候,那时候还没有这个安卓的和苹果, 呃,手机界的老大就是诺基亚摩托罗拉,但是后来安卓的出来之后,这个诺基亚和摩托罗拉就一夜之间就消失了。但是呢,这个 qt 还是一个比较好的。这个,嗯, gui 框架。那么片 qt 他就是 因为 q t 本身是 c 家写的,那 p 二 q t 他肯定也是跨平台的。呃,显示效果就是本地的,在温度下呢,就是温。呃,如果你在温旗下跑,程序呢,就是温旗的显示效果,在乌湾图下跑程序呢,就是乌关图的那个显示效果。在迈克 o s 下跑,这个程序呢,就是 o s 叉的那个显示效果。 pyqt 呢,他一大好处就是他与 qt 就是私家家写的那个 qt 的函数接口是一致的。 由于 qt 的开发文档呢非常丰富,所以呢,导致 pyqt 的开发文档呢,也就非常丰富了。嗯,我之前遇到问题的时候呢,去这个 pyqt 的官网去搜索这个 文档,那么它里边就是介绍了一部分之后直接就写说更详细的介绍,请直接参考 qt 的开发文档。那么这表明什么呢?就是 说这个 piqt 的问题很多,可以从 qt 的开发文能里边去找到答案。 嗯,他的另外一些特点是空间比较丰富,那么封装了很多函数和方法啊,他的布局呢,是有 qt, 你在哪可以支持偷拽布局,这对于我们春水来说,这个是非常方便的,那么 piqt 也很方便的打包成二建制文件包,嗯,便于我们发布程序 啊。当然了,这么好的东西不可能这个完美无缺嘛,他的这个缺点就是他是 gpl 协议。 呃,编写自由软件的话是没有问题的,但是如果编写商用程序的话,可能要购买商业版权的授权,当然了,在天朝谈论这个版权啊,授权啊,这个就是比较呵呵了哈,因为我们大部分 人呢,这个操作系统都是盗版的,更何况上面跑的这个应用程序呢?我目前操作系统上跑的程序除了拍层之外,几乎全都是盗版的破解的,这个我们就不提了哈。呃,这是一个这个 gpl 协议上的问题 啊, py 赛的。刚才我们谈了这个 py 赛,他是诺基亚的这个亲儿子,这个他出现就是因为这个 pyqt, 他这是 gpl 洗衣商用的话会有一些问题,但诺基亚他是一个搞商业的公司嘛,所以他就开发了这个 py 赛的。 py 赛的也是拍这么对 qt 的这个风装, 那么也是一个扩展模块,使用前需要我们自己去安装,当然了,他这跨平台特性也是一样的了,因为他跟 piqt 就是相当于是一个爹生的嘛,然后与 piq 对这个 api 也比较一致啊。他们, 呃,他为了躲避这个 gpl 协议呢,他遵循的是 lgpl 协议。新软件呢,可以是私有的啊,不需要是自由软件,那么也可以用来开发商业应用啊。但是他好像布局的话,好像也是代码布局 啊。我们最后来看一下这个 tv 这个 gy 框架,它是使用这个拍层和 c 层编写,这个 c 层呢,是一个 啊,拍摄和 c 元的这么一个接口。嗯,它是百分之百开元免费的,它的主要目的是针对于多点触摸应用,就是针对于我们现在这个安卓的手机和 ios 手机,以及各种类型的这个平板电脑。 当然了,虽然他是针对于多点触摸应用,他也可以运行在没有触摸设备的操作 系统上,比如说温七啊,这个叉 p 啊,都可以的啊。 kv 他比较厉害,他是全平台支持的,就是高大全,这个从零九克斯、 windows、 麦克 o s, 安卓的 ios 到这个最近火起来,这个开元硬件说明派都可以跑。 kv, 那么 kiwi 他布局是使用专用的语言,叫 kiwi language。 这个是啊, kiwi 自己的语言,他是专门用来布局的, 那么他这种实际上就是类似于代码布局,那么他有一个在 gtop 上有一个 gui 的布局环境,但是还未成熟,很多 bug 我用了一下不是很好用。 嗯,因为他一个对于产品发布比较不方便的问题是他这个中文支持相对比较差,他默认的那个字体包里边 不包含中文的字体库,所以呢,我们如果想让他支持中文的话,需要自己下载一个中文字体库,并且指定路径,这样才能让他支持中文。 嗯,好,那么拍送的这个 gy 框架我们就介绍到这里,我们刚才说了,罗里罗斯说了一大堆,那么到底哪一个 gy 框架适合我们?呃,初学者入门来学习呢? 我们从这个学习成本,我们初学者主要是考虑这个学习成本和开发效率,从学习成本和开发效率角度讲呢,但是这个答案我们大家肯定已经知道了哈, 我们最后应该选择这个 pyqt 来学习入门。呃,是不是说我要讲这个 pyqt 的开发客人,我就找 找了一堆理由说要非得学这个 piqt 呢,而打压其他的这个叽歪框架呢?不是这样的,我们来看一下我们为什么要使用 piqt, 首先是因为他的 api 与 qt 一致,学习完 piqt 呢,我们就可以,等下我就学会了 qt, 一劳多得,在我们想用私家家开发 gui 的时候,我们直接可以用 qt 去开发,因为我们学习过 piqt, 那么在使用 qt 的时候不会是什么困难的事情。 其次就是他的文档很丰富,文档对于一个开发人员来讲,就像这个字典一样, 我们如果遇到问题,文档找不到答案,那么网络上的很多回答呀,可能也都是不靠谱的,最终开发人员要以开发文档为权威,所以他文 文档丰富,这是一个很重要的这个得分点。然后就是他这个学习成本低,他这个学习曲线没有那么陡峭,我们可以循序渐进的一点一点的学。呃,学习效果呢?也比较明显。 呃,他的另外一些优点就是开发比较迅速,可以用这个 qt 抵在哪实现这个 gy 拖拽布局,所见即所得。对于车者来讲这个比较直观。如果我们用代码布局的话,我们要 比较麻烦的先在脑中构想出这个 gy 画面,或者是在纸上先画出来,然后再去啊写代码,然后还要通过运行来调试这个 bug, 因为布局可能会有 bug, 但是如果是 gy 脱拽布局的话,这样就非常方便了。嗯,另外的优点是他的学习经验很容易迁移到 这个 py 赛的,就是刚才我们介绍这个诺基亚的亲儿子,人家是这个皇子哈。 py 赛的就可以用来开发这个商业应用,但是如果其实在天朝的话,你用 pyqt 开发,呃,我, 我估计小的应用问题不是很大,但是如果想刻意避免这个问题的话,我们可以很容易的迁移到这个 py 赛的,你把这个头文件换一下就可以了。 然后呢,最后最后一点是他非常方便的打包发布软件,因为拍一层这个本身解释型语言的特点,他是我们小小的程序,他是不编议和链接的,他是直接从这个文本去运行的解释器逐进来,边解释边执行。 那我们给用户一使用的时候,不可能让用户装一个拍送的解释器,然后再把这个原代码发给他,再让他从那边启动去运行,这是很不方便的。嗯, 我们肯定最后要把它打包成这个 esp 去发布,那么这一点呢,也是我们选择 pyqt 的一个原因,好,我们 了解了排层的各种 ui 框架,也了解了我们为什么要使用 piqt, 我们接下来介绍一下我们本课程的这个学习内容。 学习本课程呢,我们假设您已经具备了拍送的基础语法,呃呃,像面相对象啊,这个装饰器呀,还有一些 啊,各种基础包的使用啊,我们就默认您已经会了,如果在我讲课的过程中遇到什么问题呢,请随时与我联系,或者是啊,赶快补一下这个基础内容。那么我们这个课程呢,主要介绍一些拍 piqt 常用的这个 空间的使用,包括这个标签啊,按钮啊,瑞杜八层啊,文本框啊,旋钮啊,滑块啊,还有这个图片显示,在介绍完这些基础空间的使用之后呢,我们会用这些基础空间 结合派送的一些其他扩展包做两个实用的这个软件。 其中一个就是这个,从大量的这个 excel 文件中查找关键词 啊。第二个就是那个通过拍层和百度云语音来完成这个语音识别程序的开发,并且通过这个语音命令控制这个台灯的开关 啊。当然这一个程序呢,需要有一定的硬件支持,不然我们是没法通过软件,没法直接控制这个台灯开关。然后呢,最后我们介绍一下这个 piq 程序在这个 windows 下的打包,呃,因为 paqt 他是跨平台的,在 links 和迈克瓦斯下呢,也可以打包,但是这两个环境呢, 雷雷克斯啊,直接从元宝运行就可以了,而且打包的意义也不是很大,迈克欧 s 下呢,跟那个雷雷克斯是类似的,所以我们主要介绍一下他在温度的平台下来打包。 那么课程内容呢?就是这些这个课程属于这个基础课程,后面呢有可能的话我们还会介绍一些进阶的课程,那么进阶课程里边呢,我们就会开发一些功能比较实用,并且可以发布给用户,并且可以收费的软件。好,今天我们的课程呢就讲到。