粉丝2840获赞2.5万

今天给大家带来的是 lumian 十点零的安装教程,那么接下来我们开始进入安装步骤。首先打开我们下载好的软件安装包,然后鼠标右击压缩包,选择解压到 lumian 十点零,解压完成后打开解压的文件夹,鼠标,又即 lumian 十零 lunch pro, 选择以管理员身份运行。接下来点击更改安装的路径,安装路径根据个人选择,建议不要安装到 c 盘。设置好解压路径后点击下一步,点击 next, 点击 install。 在检安装中请耐心等待,安装完成后点击 finish 打开路径, seen windows systems 三十二 . drivers etc 鼠标右击 hosts, 选择打开方式为记事本,将这串代码不知道 hosts 记事本末,点击保存。 打开解压后的文件夹,双击打开激活补丁文件夹,全选文件,选择复制鼠标右击桌面图标,选择打开文件锁在位置,在空白处粘贴,点击替换目标中的文件,双击桌面图标,打开该软件,显示该页面即为安装成功。

最近半年使用 cologod 安装了近百个 skr, 最后发现真正能提升工作效率的其实只有三个技能,今天免费分享给大家。第一个, superpowers, 这个 skr 改变了我用 cologod 的 方式。以前我是直接把需求交给 cologod 的, 让他来写代码,写出来虽然能跑,但是经常跑偏,改来改去浪费大量时间。 装了 superpowers 之后,我养成了一个新习惯,每次开弓前先跑一遍,不认英斯德尔敏。这个技能能让可洛的反过来问我问题,你打算怎么处理并发数据库选什么 等等等等。问完一圈,他会把讨论结果写成设计文档存到本地。听起来多了一步,但这一步帮我拦住了无数次的反攻。有些问题你自己都想不到,但是可洛替你想到了。 注意, superpowers 包含了二十多个紫技能,千万别全开,我只用 breamstorming, 头脑风暴, 其他的按需加载,要不然会浪费大量上下文。第二个技能, playing with fails, 这个技能解决了我被坑过无数次的问题。 cloud 有 个问题,它做到一半就失忆。不知道你们有没有遇到过 一个复杂的任务,聊了半个小时,可乐突然说,好的,让我们开始吧,然后就把之前做过的事情又重来一遍。根本原因是对话太长了,上下文被压缩,之前的计划全丢了。普莱因维的 flow 的 做法很聪明,就是别把计划写在脑子里,它是存在纸上 克拉的扣的。每次动手前会先建一个计划文件,每完成一步就在这个文件里打勾,就算上下文清空了,重新读一下文件就能接着干。 这个思路跟 minnes 很 像, minnes 做常任务为什么玩?因为它所有的中间状态都存在本地了。第三个技能, roughlop, 我 给这个技能起了个外号,监工 sky, 你一定体验过 cloud 的 摸鱼模式。写到一半突然说基础框架已经搭好了,你可以在此基础上继续完善。 翻译过来就是活我没干完,我先下班了。 raflopp 通过一个或可拦截 cloud 的 退出动作,他退出的时候或可会检查。你说的完成标准达标了吗?没达到,回去继续写。 我用它写过,完成过一个 c r u d 模块,设了条件,所有接口测试通过加 redmi 写完才算结束。 kloth 中间响停了三次,但都被塞回去了,最后确实把活干完了。但要注意的是,完成条件一定要写写具体做完用户模块这种话等于没说, kloth 分 分钟说服自己已经完成了写成。完成登录接口可用 单元测试,覆盖率百分之八十。加 redmi 包含 api 文档,它才没法浑水摸鱼。以上就是我常用的三个技能,今天希望能够对大家有所帮助,感谢观看,拜拜,下期见!

今天要给大家推荐的是目前最强的免费 ai 软件 comui, 不 仅在国内有大量的用户爱好者,同时也备受多个行业青睐,那么为什么这款软件具有这么大的魔力呢?其实主要就是两点,一个功能强大,另外一个就是免费便捷。第一点,功能强大主要体现在哪里呢? 无论是生成海报,人物摄影,又或者人物换脸换装,换人视频,又或者生成音乐, ai 数字人等等,这款软件通通可以满足你的需求。第二点,免费便捷,指的则是这款软件没有任何收费项,不用按月按次订阅,只需要家里有台电脑, 懂得一些电脑的基本操作,就可以无限量不计次数的使用这款软件,甚至这款软件不用安装双击就能打开,真正是小白都能上手。那么这款软件到底怎么使用呢? 使用的方式呢?也非常的简单,我们下载好我们的压缩包,然后解压之后呢,我们找到这个启动器的图标,然后双击打开,然后呢就会弹出一个黑色的窗口,我们稍微等他加载一会,他就会在我们的默认浏览器打开, 那么你可能看到的是这样的一个纹身图的界面,那么我还为大家准备了很多东西,像这里面左边的模型里面有常见的 flex 模型,千问模型,以及一些大模型 经常使用到的 lora 等等,再比如说工作流部分,大概有两百多款,可以足够的满足大家的要求,那么这些文件呢都放好了,然后像这里面我们得到了这样的一个工作流之后呢, 点击一下运行,我们可以看到这个彩样器正在彩样进行生成,最后呢就生成了一张图像, 那么这里面我们采用的是动漫的模型,所以它就会生成动漫图像,那么大家也可以尽情的使用其他的一些模型,比如说人物模型等等,那么同时像这种模型呢,可以生成大家任何想要的图像, 那么都给大家准备好了,大家拿到手之后呢就可以自己动手去试一试,看看生成的效果怎么样。个人认为这样的生成效果还是很不错的,比市面上的很多需要收费的软件是效果要好的, 毕竟软件是完全免费的,那么就将这款软件推荐给大家免费使用。哈喽大家好,那么这节视频呢,我将为大家充分的介绍一下我们的 kfc 整合包里面到底包含了哪些内容, 以及具体哪些重要的文件夹是我们需要知道的。那么首先我们一般拿到我们的枕头包之后呢就是一个这样的文件夹,那么这个 com 呢就是我们软件的本质,就相当于是一道正在锅子里面已经炒好的菜,然后通过我们的拍摄呢, 给它包装一下,把它盛在盘子里面,然后可以端出来,这个就是拍摄的功能, 然后这个下面有一个启动器,就相当于是刀叉一样的东西,然后我们直接点击启动就可以使用了,那么我们看一下这个康复员里面有很多的文件夹,那么里面有哪些文件夹是需要我们值得去注意的呢?首先前面这些都不用管, 我们依次从上往下看过来呢,首先第一个就是我们的 custom node 文件夹,也就是我们的插件文件夹,我们打开之后会发现有非常多的插件,那么这些插件文件夹里面包含了哪些内容? 就比如说我随便打开一个,打开之后呢,你会发现有这些内容,那么这里面我们不用管,但是里面有一些比较值得注意的地方,就是有一个依赖环境, 那么这个没有,我们找一个有的打开,你像我打开这个插件呢,里面有个依赖环境的 t 叉 t 的 文件夹, 然后我们打开之后呢,你会发现他在这里面要求了我们需要哪些依赖,同时这些依赖的版本是多少,那么有时候呢, 我们使用插件的时候经常出现依赖冲突,那么原因呢也就在这里,不同的插件对于依赖的版本要求是不同的,所以这里面我们要做好我们的插件管理。过掉这个插件文件夹之后呢, 我们就来到下一个 input 文件夹,也就是我们的输入文件夹,那么这个输入文件夹呢,其实就指的是我们平时使用 ctrl u i 的 时候,有一个上传图像功能, 那么我们只要在上传图像里面加载的某张图片,那么这个就会传输到我们的输入文件夹里面来,也是比较好理解的。那么与此对应的呢,就是来到我们的输出文件夹 out 文件夹, 在我们的 control 中使用过保存图下面令导出的文件,就会来到这个文件夹里面。我们看完了音符的文件和 alt 的 文件夹之后呢,就可以关注到我们最核心的一个文件夹 models 文件夹, 那么这里面有我们所有用到的模型,这里面我们着重的分为四个类别,首先就是我们深图的大模型文件夹,包括我们的 checkpoints 文件夹,这里面呢是我们一开始的 kufui 使用的文件夹,模型呢普遍在六七个 g 左右,反正是比较小的。 然后与此相对应的就是我们的 diffusion models 文件夹,也是我们的生图大模型,但是此时呢模型的大小先来到了十多个 g, 更有甚者可以达到二十个 g, 是 非常恐怖的,包括我们的千万 one z e m g 模型等等, 那么这两者都是我们的一个深层图像的大模型文件夹,然后就来到了我们的克利普文件夹, 那么克利普文件夹呢,指的就是我们的文本编码器文件,像这里面我们以前老版的使用的都是这个克利普文件夹,但是自从我们出了更多的大模型之后呢, 我们更习惯于把我们的 clip 文件保存在我们的 test encode 文件夹,也就是文本编码器在里面, 这里面呢所有我们需要用到的文本编码器,那么这个和上面的 clip 是 相对应的。那么第三者就是我们的 ve 文件夹,这个其实没有什么好讲的,我们平时加载我们的大模型就是三件套嘛。 那么介绍完这一类的之后呢,我们来看一下下一类就是我们的插件文件夹,我们的插件是需要模型的,就比如说我们的 control net 插件有各种各样的模型,我们的图像分割插件,或者是我们需要换脸使用到的 inside face, 那么这一些类别呢,就属于我们的插件模型文件夹,那么第三者呢?就是我们的 rom 模型,也是我们经常使用到的模型,这里面呢包含了所有我们大模型配套的 rom, 用来生成或者实现不同的功能,那么就是在这个文件夹里面, 至于其他的,其实这一部分很多的都是我们的插件文件夹,我们在模型文件夹里面只需要注意这几个部分就可以了, 其他的部分我们可以进行一个省略,或者是等有需要的时候再进行了解。最后我们讲一下我们的个人工作流文件保存在哪里,我们打开这个 user 文件夹,然后点击这个 default, 然后在 workflow, 这里面就是我们的个人工作流存放位置的文件夹,那么这些文件夹呢,都是我们在使用康福 u i 时需要着重注意的文件夹, 那么这些文件夹现在什么功能你掌握了吗?那么这个视频对你有用的话,不妨点赞加三连关注,支持一下,我们下个视频见。

hello, 大家好,我是 linux 作者。呃,今天给大家介绍一下我们这个产品啊。呃,这个是我们的 github 首页, 我先教大家怎么去安装我们这个 linux, 它很简单,首先你要安装有一个环境, node js 的 环境,只需要搜索, 然后 get node js 啊,如果你是 windows 的, 就直接这边安装就行了,如果你是其他系统的,它会自动推荐,点击完之后会有一个安装的一个装包, 这里呢可以默认一直点下一步就可以了,我这里已经安装过了,就不再介绍。然后接着呢,我们可以打开我们的这个 cmd。 嗯,首先呢我们需要一个项目,我们可以在 f 盘下面新建一个自己的项目,我们可以随机取一个叫做 test 啊 test 一, 然后在这个 c m d 里面呢,可以进入,进入到这个 f 盘的 test 一 里面,然后输入我们的这个呃, resix 启动指令, 这里是我已经。嗯,之前启动过了,然后正常的启动呢,会有一个启动的界面,它会引导你去输入你的 api key, 然后如果你不知道 api key 在 哪里获取的时候呢,这里上面也有一个链接可以让你去点击, 当你输入这个 api key 之后呢,它就会进入到这个界面,那这里呢就是有一个 web。 呃,我们不仅仅是支持这个终端的啊,也支持 web 的 啊,点进去之后呢啊, ctrl 加左键,点进去之后呢,这里是我们的这个后台,然后这里的面板呢,它是一个 t y 的 镜像,就是你这里写的任何东西,它在这里都会啊反馈出来,比如说我们说你好啊, 这两边是同步的,当然你在这里发,这里也是会同步的,那这里呢有一些功能,就是可以看到一些以前的计划,还有一些绘画啊,包括你的这个,呃,应用缓存,还有包括你的 token 消耗啊,用量。 然后我们这里的话,呃,是当你比较熟悉的时候,你可以再来看这些,这里是比较深度用的一个地方,比如说对你的项目的文件进行一个缩影啊,可以本地有个模型给你安装 啊,然后下面有些 m c p 啊,还有包括 skills 啊,记忆啊、 memory 啊,户口其实都是支持的啊,包括这里有一些设置啊,但是这些设置可以都不用改。然后 我们可以先啊尝试着做一个项目啊,比如说做一个五子棋项目, 呃,在他做五子棋项目的时候呢,我可以给大家介绍一下,就是我们这个 deepsea, 就是 另一个用户用我们这个 reason, 然后它的用量, 嗯,这个用量呢?大家看一下啊,它用的非常多,它用了大概四亿三千五百万个 token, 对 吧?嗯,这是 flash, 它大概就是一百块钱不到,跑了它就跑了,它这个跑的用量有点大啊,其实用量也大,正常人不会跑这么大的。 那为什么我们这个缓存命中率它能达到百分之九十九啊?这个有百分之九十九以上啊。呃,我可以给大家讲一下啊,就是我们有一个叫做前缀缓存的这个命中率, 就 deepsafe, 它有个 api 有 个特性,就是你请求开头若干字节,如果跟上一次完全一致,它命中的部分呢,就会按照定价的百分之十来计费,也就是说如果你命中了它,就给你打一折啊,这个机制是 deepsafe 提供的,那所有的 deepsafe api 的 这个客户端呢?都有这个功能,那 为什么大部分客户端命中只有三十到六十,我们可以达到百分九十九呢?啊?这就要考验这个你设计客户端的设计水平了 啊啊,他这边还问了我们一些问题啊。嗯,我这个是滚轮,也可以去控制啊,比如说他要做一个 web, 那 我们做个 web 就 够了啊,回答一下他问题, 那接着我们讲别人怎么做啊?就是主流的 engine 呢?一般怎么做的?为什么他们做不到百分之九十九?第一个就是 devic 自家的这个 chat, 他 们的 chat 它对话率一般都是六十到八十左右,但是啊,比如你新开一个会话,它的命中率马上就会掉到零 啊。第二种呢就是,呃,就 cherry studio 这种,他们用 open ai 的 那种形状的 sdk, 每一轮对话的历史呢,都是会重新序列化的,重新排序,有时候还会塞个时间戳进去,他们那个前缀的字节序列就变了,缓存就废了,所以他们的一般命中率呢,可能会更低一些。 然后第就是最后一种呢,就是那个 close code code 啊,这个就比较主流啊,我先把这个 set up 一下,让它继续跑。 然后他们呢,就是他们不是为 deepsea 缓存设计的,他们是为自己的这个 cloud 和 gpt 是 能力设计的,他们的优架构 能力呢,就是能力优先,成本是结果,所以我们是反过来的,我们是成本,是约束条件,我们的能力呢,只会在这个约束下最大化,所以这是产品定位的区别,不是说谁好谁坏啊 啊,这里再统一一下,因为我们现在这选的是 review 模式啊, review 模式就是他每操作就是每一个操作都会问我们啊,要不要这么做,我们可以呃,也可以关掉,我们比如说加 shift, 加 tap 切换一下,切换到 auto 啊,就让自己写,我们就不管了。 然后我们具体做了哪些事呢?我们其实就是呃,就是在所有提示词前面 计算一下他的这个码,然后把他的绘画一开始就会计算一下哈,吸一下定死。所以在这个绘画里面,前面的这一段的字节都是不变的敞亮。听起来是很简单,但是很多框架都做不到,因为他们很想动态去根据对话状态去调整 system prom 的, 这样看起来会更聪明,但是缓存会当场失效,所以我们选择不动它。 第二个就是 append only, 就 只追加不改写,他每个对话的时候我们都是指望日制的末尾加东西不行不准,不进行重新排列,也不会去修改,他就保持他前面的字节保持不动。 那这条听起来是很简单,但是要嗯实现起来呢就比较麻烦,你跑久了肯定会很想清理一下历史啊,让上行往好看一点啊,那一清理缓存就完蛋了,对吧?那 后面还有一个就是呃 r 一 的这个思考,我们升到 v 四之后就叫 thinking, 它这种推理模型呢,它会输出一大堆的这个 reason content, 就是 那种 呃,就是用过的都知道,它会有一个自己推理的一个,一个就是可以看到,但是它不是作为一个主要输出的, 然后他有一些框架呢,就会把这个东西呢塞回去,这样就会让 angela 记得自己想过什么。那我们会把这个东西呢隔离在一个新的区域里面,每一轮结束的话就清空了啊,然后我们会通过一个叫思维提取的模块,然后去把它要用的时候就拿出来啊,我们会把它压缩成一个结构化的一个小块, 然后最佳进 log 里边啊,原原始的那个呃思考链呢,就不会进缓存了,这里他要启动一个端口去跑起来。好,我们拍摄啊。没有哈,他肯定想别的办法。 然后呢?除了缓存呢我们还有什么省钱呢?然后比如说,呃,就成本控制的一个东西,就比如说 flash first, 就是 优先 flash 模型,然后 pro 的 话因为比较贵嘛,那百分九十其实口顶 flash 够了。那 cloud, 比如像 cloud cloud code 以前都是用 sonet 对 吧? coser 也是 sonet, 然后口袋是默认的 gpt 啊,都是那种稍微便宜点的模型。那每一轮结束呢,就是有差不多三千个 token 返回就会自动压缩啊,模型用的时候就有个完整内容,用完就只剩下摘药,如果下一轮还需要的话就重新 build file 啊,总比拖着这个呃十二 k 的 这个托儿跑起来会便宜很多啊。 如果一碰到难题,你可以单轮起用这个 pro 模式跑一下,那跑完就自动回收啊,但那这样肯定会就是单次这种呃缓存命中肯定会降下来啊,但是可以更好的解决问题吗?对吧?那这里他说他设计好了,那我们可以去看一下 啊。跑起来了,我看看他运行怎么样,我随便玩一下,我感觉他设计还可以啊,对吧?啊?五子连击,黑棋胜,重新开始啊,没问题,我们来让白棋胜一把。 好,白棋获胜啊。好,那我们这个如果说这个时候呢,你想看一下这个后台 dashboard 啊, 可以这样,然后它会有一个提示,你可以点击这个进入外部后台啊,在这里也可以看到效果,它这里展示是一样的,这里可能会稍微好看一点。 好,我们这里可以看到它在后台跑了一个 job, 所以 我们才能啊预览出来这个游戏啊,如果它没跑这个 job 的 话,你在这里是看不到这个游戏的,那我们可以把它停掉。 那停掉的话,我们先可以看下 jobs 就是 跑了哪些任务,他跑了两个任务,第一个任务是失败了啊,那第二个任务是成功了,这个是成功了,那我们可以把他杀掉。 q 二,他是第二个。好,他正在停止。 好,停止了,停止后这边就没有那个东西了,那当然这个网页在刷新的时候他就打不开了啊,就无法访问了。 那整个流程就是这样,就是你想做什么都可以跟 ai 去沟通啊,我们这里的缓存它基本上达到了百分百,就是基本上全命中了啊,没有什么没有命中的,然后你可以在后台可以看得到这个。呃,详情啊, 我们可以在这盖栏里面可以看到,因为我刚刚还之前还对话过其他东西啊,平均下来可以达到百分之九十七啊,还是非常高的,因为我们第一轮聊天的时候,他肯定是比较低的嘛,他是后面慢慢的就会增高啊,就是一轮比一轮的比一轮高。 好,那我们今天就介绍到这啊,欢迎大家来使用我们这个 listeners 啊,如果有你有什么问题或者反馈都可以来我们的 github 上提这个问题啊,我都非常的呃乐意去 啊,比如说你们要发 pr 啊什么的,我都会乐意去合并或者提出一些我的建议啊,去改进一下。好,谢谢大家。

写小说,先说怎么写小说?不知道怎么开始,五十万字的长篇更不知道怎么推进。今天我用一个真实案例演示 修仙小说青云志,主角灵异从被宗门逐出的少年,一路修炼飞升,最终揭开父亲死因的真相, 跟着这套工作流走,你不需要懂写作技巧,只需要有想法, ai 会帮你把想法变成完整的小说。从设定到正文,从第一章到第五十章,每个环节都有验收点,完整演示一遍,看完你就知道怎么用了。 先说怎么安装,你跟 ai 说,帮我安装 awesome novel skill, ai 会帮你下载最新版本,执行安装脚本,配置到你的工具里。 如果 ai 说不知道,私信我,我发你安装包装完验证一下,输入 awesome novel, 出现小说写作引导,就说明装好了 安装脚本支持 cloud code、 deep seek、 toy hair、 mask、 open claw 四个平台。启动 skill 后, ai 会问你,你心里想写的大概是个什么故事,主角是谁,在什么世界做什么事就好。 你说修仙主角从凡人开始,修炼飞升, ai 从你的描述里提取关键词,判断类型是东方仙侠,然后进入世界观设定阶段。 世界观分三部分,地理、政治、规则。 ai 会逐个问你,你回答, ai 帮你补充 地理主角从哪到哪。比如,从凡间小门派到青云宗到仙界。 青云宗是凡间正道第一宗门,坐落于青名山主峰,弟子过万,宗主是化神七大能。仙界是独立于凡间的高位面,只有渡劫成功才能飞升进入正直,谁说了算? 正道领袖青云宗叛徒尘封勾结天魔教,尘封是灵异的杀父仇人。规则,修炼怎么分级? 炼器、筑基、金丹、元婴、化神、渡劫、仙人灵根分五等,杂灵根、下品、中品、上品、天灵根。每个大境界分初期、中期、巅峰四节。 设定完成后进入主线,拆缸加卷缸。 ai 会先问你故事走向,从开头到结局,想清楚了吗?如果想清楚了,就走完整流程。 先定总主线,主角从什么状态到什么状态,核心目标是什么?比如灵异从被宗门抛弃的少年成长为揭露父亲死亡真相,复仇成功的先人, 然后找自然断点推演从起点到终点,最根本的变化是什么?比如灵异从被动隐忍到主动出击,从信任宗门到看透真相。 接着一卷一卷确认核心冲突。我用青云志的五卷结构举例,第一卷叫凡尘,核心冲突是家族灭门后流浪,最终进入青云宗发现线索。 第二卷叫宗门讲宗门内部阴谋,崭露头角。第三卷叫风云,全面冲突,与反派正面冲突。 第四卷叫逆袭复仇高潮,揭露真相,决战成风。第五卷叫仙图飞升仙界,发现仙界其实是傀儡牢笼,最终决战, 每卷大约十张手卷,用三木式结构 set up 建立悬念 confrontation 冲突升级 resolution 小 高潮收束,卷钢定好之后状态更新,进入逐章写作循环。 拿第一张举例, ai 先问卷钢定位临沂流浪三年后抵达青州城,参加青云宗外门选拔,然后给出方向选择。 ai 推荐方向, a, 临沂抵达青州城,路遇散修交谈,听闻青云宗选拔即将开始, 你确认方向? ai 展开八条关键点,从城门进入,路过主街,在茶摊旁听散修聊天,得知选拔消息去城东客栈,深夜睡不着念出尘封名字 张刚。确认后, ai 生成六模块,提示词,基础定位、前置承接、人物状态修饰任务,文字要求、真人感补充,提示词写完要验收。检查六模块是否完整,字段是否填满, writing style 是 否注入, 字数目标是否明确,数值视角是否锁定,场景分解是否清晰。验收通过后, ai 生成正文, 整文写完有十维分层验收, l 一、 表层文本,疲劳词句式对话。 l 二、内容合规设定,章钢兑现,钩子兑现。 l 三加基础质量,阅读留存风格, 正文。验收通过后,进入规章,规章操作草稿移到定稿更新 chapter 到 md 状态,追问色状态,历史更新, houx 记录灵异的状态从流浪三年变成抵达青州城。 然后你说继续第二章, ai 会读取上一章状态生成新的章纲方向,这就是逐章写作的循环。 整个工作流的核心不是流程本身,是对 ai 位的警惕。它专门设计了去 ai 位的规则,禁止堆砌词藻,禁止假深刻,禁止排比,禁止套话。每张论文都要经过十维验收,把 ai 位压到最低 为什么重要?因为用 ai 写小说,最怕的就是出来的东西,一看就是 ai 写的,套路雷同堆砌,读者一眼就出戏。 最后说一个关键点,这套工作流是状态驱动的循环,不是流水线,是循环。每一张完成后,状态更新,然后回到检测状态,根据状态路由到下一步, 你随时可以从任何一个节点切入。说,我改主意了, ai 会响应你的改动,继续往前走。 所以总结一下, awesome novel skill 是 一个写作系统,你定方向、做决策、给反馈、 ai 执行、写内容、做检验。你不需要懂写作技巧,你只需要有想法,然后一步一步确认,最终得到一本完整的小说, 这就是整个工作流。六步设定世界观、角色主线,拆纲着章写作、验收、归档,每步都有验收点,你随时可以改主意, ai 会响应你的改动,继续走。 最核心的东西不是流程,是对 ai 位的警惕。它专门设计了去 ai 位的规则,禁止堆砌词藻,禁止夹生克,禁止排比、禁止套话,每张论文都要经过十维验收,把 ai 位压到最低。 这套系统的本质是协助你定方向、做决策,给反馈、 ai 执行、写内容,做检验。 六部里有五部需要你参与,不是 ai 全包,是人机写作,觉得有用就私信我,我发你工具,拜拜。

我们来教一下怎么安装这个软件,然后先实现第一步能够呃收到客户的消息,能够自动回复。我们先今天先讲一下这个,首先我们双击这个安装包,把这几个软件都装起来, 要稍等一下,等它安装好,我们今天就安装好软件,然后让它能够收到消息,然后自动回复消息,这就第一步算完成,然后后续的详细的教程我们在后面再讲。今天你只要关注怎么把软件安装好,怎么能够让它实现呃,自动客户发消息或自动能够回复消息,完成这一步就可以了。 好的,它已经它已经安装好了,安装好以后我们去登录,如果没有账号的话去注册一下就可以了。 好,呃,然后你就要选择你要看一下是拼多多还是千牛,我们先以千牛为例,打开这个,打开这个 ai, 点掉 ai 客户就是给客户端这个 啊,长是长这样子的喔,这里有个牵牛,然后不管它,我们先去登录一下牵牛,牵牛的话要设置一下点这个系统设置,然后确保这个 讲述模式是打开的,然后接待的那个,呃,就是用气泡模式,就是第一个是要保证是用气泡模式,第二个是用把打开这个讲述模式,不然可能接收消息的时候会呃有点问题啊。等会牵牛以后点刷新,这里会出来个 e, 然后 点一下它就会吸到这这上面去啊,它的逻辑就是其实就是牵牛收到消息之后,这个软件它会知道,也会收到这个消息,这样子的话才能把这个消息进行让大模型去处理好,其他的我们就先不说,然后它会自动打开这个浏览器,如果你没有没有打开的话,你随便找一个浏览器打开,然后输入这个 就这个 l o c a 这个本地的这个先把这个设置删掉, 然后店铺也删掉啊,如果有这个势力全部删掉,里面我记得有两个势力的全部删掉。删掉好了以后呢?那我们先先添加自己的店铺,店铺就是店铺的名字,对吧?因为如果是中文就输中文啊,因为我是 tv。 剪掉东翼吧,对吧?东翼强贴装饰装饰,然后客服名称你就自己写,对应的我暂时留空。好创建好这个东翼强贴装饰。东翼强贴装饰啊,然后去创建一个机器人。牛, 有行业你就选对应的行业,没有的话就自己自己输入一个,这个行业里面是放放那个知识的。就是你们啊,其他先不管,我们新手其他先先都不管,然后创建好以后去把这个刚刚创建的店铺,但是还回答不上,需要再学习一下,跟这个绑定一下,放心绑定。 哎,绑定好了以后,呃,这里有一个需要这个 key 的, 就这这个算力,如果是新的就没有这个算力的,这个这个 key 你 要找我要一下,有这个 key 它才能够,它才能够去去测试就才能够运运算嘛,没有的话它会报错的。好,先测试一下 啊,他已经能够了,然后我们今天的任务就只是让他先能够收发消息。 ok, 这里看一下。点错了,不好意思啊,这个暂停运行。 ok, 然后我去发个消息。 好,你看它会去往上面去把之前的聊天记录都给它读去一遍,因为这个是因为是刚登录的,所以在呢,呃,对吧?我再发一个,你好, 然后我们只要能实现就是自动发自动回复消息就可以了。我问这个啊, 因为这个是因为我之前问过,他老是想给我转到人工那边去啊,他是能够能够回复的,然后只要能够回复,我们今天这个教程的任务就完成了。 这条链接这是机器人回复的,就是这个内容,就是回复就是他这个 ai 判断,这个时候需要转到人工那边去处理啊。然后, 然后我们再说一下拼多多的挂机,你先拼多多的话,也是要在店铺管理这里面新增一个店铺,要输入这里店铺的名字,然后平台选择拼多多, 然后创建新建店铺,然后选输入名字,然后也是一样的,这边点击店铺绑定,先选择,然后点这边的绑定, 然后关掉啊,这个店铺绑定,选择店铺,然后绑定啊,这个我已经绑定好了。拼多多的话就是打开这个浏览器这个 然后也是一样没有账号,去注册一个啊,添加账号,这里填也是填店铺名字,点亮啊,拼多多确定创建啊。如果你想就是这个只保存在本地这个账号密码,然后如果你想自动登录一下,我还是设置一下自动登录,因为这个只是保存在你自己本地的。 好,我已经输入了,然后我点完成, 可能会要验证码,如果要验证码的话,你就输入一下验证码。 ok, 拼多多也登录了,然后我们去测试一下拼多多的消息能不能收发成功,再把啊抬到另外一个机器人那边去。 你好, 因为我没有还没设置什么资料,所以它就是根据目前的对话来回复的啊,我们就是测试它能够正常收发和回复消息。呃,其他的就是回复的准确度啊,还有逻辑啊,我们在后面的课程中再继续讲。 好,就是可以回复啊,它是自动回复的。 ok, 那 我们今天就先说到这里。

使用 c c switch 进行 cloudbox 的 使用,好多朋友不会用啊,这个 c c switch 大家入悉一下,首先在这个网站里面搜索一下这个 c c switch, 把 c c switch 下载下来,对应的安装包在这里面点 windows 这个 msi 就 可以了,安装下一步就可以, 我现在是安装完的之后的效果,第一次进入是这样,要进入这个 c c switch 的 设置,在设置里面呢,如果你没有安装 cloudbox 呢?你要把这个 应用这个插件可以点,把这个跳过,初次安装这个一定要点开,这个非常有用,好多朋友因为他没有格式的账号,所以每次要登录时候需要登录账号,这个跳过了,只用咱们国内的 ai 就 可以了。 到这里面这里面,比如说像我的这个,我其实用的 dipstick 和这个 gim, 还有 mini max 它其实国外这个我也没有使用啊,太贵了,大家可以直接点加号加号,比如说你要有一下,比如说你用小米的这个 mini 吧,小米这个 mini 呢?你去把这个 key 添加这里面把,这个一般都不会用。改啊,如果你是 tiktok 的 话,你要去搜索一下 tiktok, 在这里面补充一下,有的朋友使用的是 tokenplay 或者是 codingplay, 这里以小米为例,他的 tokenplay 或者 codingplay 里面的兼容协议是这个名称,但是 c c switch 这个作者呢?他说他自己忘写了,他写的是这个,这个是错误的啊。大家一定要把这个 play 复制一下,复制之后把这个放到这里改一下, 改下之后再把你的 api 复制里面,这才是对的。之前有朋友是写错了,他默认是有问题的,这个一定要看一下,把你的模型需要用的模型改一下,一般都是小写啊,很少有大写的。这个大家自己添一下,点击添加就过来了。 过来之后呢,想像我这样的点试这个余额,这个余额比如说你看我这个 deepsea 的 余额,呃,使用用量查询,官方把这个设为零, 你刷新一下,像我这个还剩二百七十块钱。智普的这个呢?它是我 tiktok plan 吗?我是用 tiktok plan 就 不一样,这个也是在这地方配置前用量查询就可以了,其他的注意的事项没有,因为其他我也没怎么用啊。 注意一下小龙虾,这个好像有点有一点点问题,我不建议小龙虾和爱马仕在这个 cc switch 里配置可能有这两个不太建议在这里面配置,就这个 clod, 再用这个配置就可以了,其他的不要配置 这个 skill。 点击这个像扳手一样的图标,点击之后呢,你就可以直接在这里面去安装 skill, 非常方便啊。比如说你想找一个 skill, 那 点击这个发行技能啊,要保持你的网络通畅啊,你的网络要好, 这里面才能显示你想要安装的 skill。 这个 skill 是 这样,它这个 skill 里面有个 top 上总结上的,在仓库,但是有一些特殊的,比如说我安装的我安装的 canvas 赛,这个 canvas 赛其实没有,你就要去他的网站上,他教你怎么去安装,你就搜索安装,按照他的方法就可以了, 其他的大部分都能搜到,如果搜不到的,很可能他改了名了。这个不要着急,你就去那个 github 上去搜索一下,是这样,你也可以从这个 ip 上去安装导入已有。都可以啊,发现技能就可以直接点击安装,这就安装出来了。这个比较方便,我建议新手小白直接在这里面去找能下载的就可以。

挑战一周,带你学完 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 方法呢,把这个控件呢添加到相应的位置,哎,咱们只要填一下行号和列号就可以了。最后呢咱们又讲了一个表单布局 啊,这表单误局呢,咱们通常是按照行的方式来添加的,比如说咱们的这种用户名密码这种输入框,哎,咱们通常呢是用这个表单布局来完成的。好,这就是咱们这一课内容,谢谢大家。