这是 q t 的 designer, 用于设计和制作 q t 的 u i。 在项目中,我用了一个自定义的表格类 table wigit x。 在代码中可以很方便的创建一个 table wigit x 对象。 但我想将 q t 的 signer 中的表格空键直接使用 table v g x 类,这该怎么实现呢?选中空键,右击打开右键菜单,选择提升为, 在提升的类名称中输入自定义空间的类名 table wigitax。 在头文件中输入自定义类所在模块名 table wigitax。 因为代码文件叫 table wage x 派,所以模块名也叫 table wage x。 点击添加, 然后选中刚才添加的记录,再点击提升,完成操作。如果以后不想要自定义类 table widget x, 可在右键菜单中选择取消 q table word 提升。 现在保存这个 u i。 接下去修改下。使用自定义空间类的拍文件。 第一步,在调用 low 加载英语文件之前,必须使用 register custom 位置注册自定义空间类。 在使用自定义控件的拍文件中,使用代码 from table wiget x import table wiget x, 导入 table wiget x 模块下的 table wiget x 类。现在 q t 的 signor 上的空件就会使用自 定义空间类了。为了让大家理解 register custom wage 的作用,先注视掉这行代码 运行程序。此时收到一个错误, chrom builder was unable to create a custom widget off the class table widget x。 所以千万别忘记调用 register 克什么位置的注册自定义空间类。学会了吗?
粉丝610获赞5933

各位同学好,欢迎大家来到用 q t 六创建 j y 程序微课堂,这节课主要介绍定时器世界。在 q t 六中,我们可以使用 q time e v 类表示定时器世界, 只要是从 q object 类继承的窗口和控件都会触发定时器世界。 窗口或控件中与定时器相关的方法如下表所示。比如我们可以使用 start timer 这个方法启动定时器并返回定时器的 id, 其中第一个参数 i n t 表示时间间隔单位为毫秒,如果不能启动定时器,则返回值为零。 比如我们可以使用 q time 这个方法停止定时器,它的参数为定时器的 id。 在 q t 六中,定时器事件的处理函数为 time evan 的 这个函数。 q time event 类为 q event 类的子类。有一个独有方法 time id, 使用这个方法可以获取定时器事件的定时器 id, 返回的数据类型为 int。 下面我们做一个例题演示实践一下。冲进一个窗口,该窗口包含两个按钮空间,该窗口会启动两个定时器事件,单机这两个按钮会关闭这两个定时器事件,我们演示实践一下。 首先我们打开 qt creator, 由于我们要创建的项目中的代码比较长,所以我们已经提前将这个项目创建并编辑好了,就是这个项目 demo 十五项目 demo 十五位于地盘的 tab 十文件夹下, 从这个项目的文件目录中我们可以看出,我们选择的模板为 q t vids application, 我 们选择的窗口类积累为 q vids, 这个项目中没有 u i 文件。首先我们单机运行按钮运行一下这个项目, 大家可以看一下已经显示的这个运行窗口,这个运行窗口整体采用的是水平布局,水平布局中有两个按压按钮,我们可以使用这两个按压按钮停止这两个定时器事件。 其中第一个定时器事件是每隔一秒钟打印输出,这是第一个定时器。其中第二个定时器事件是每隔两秒钟打印,这是第二个定时器事件。然后我们单机第一个按钮, 然后单机第二个按钮,这样呢他就会关闭这个窗口,关闭待猫食物。 首先我们打开这个窗口类的头文件 with it 点 h。 下面我们讲解一下这个窗口类头文件中的代码。 首先我们要包含 q push button 类,然后包含 q h box layout 类,然后包含 q time event 类, 然后包含 q string 类,然后包含 q debug 类。在这个窗口类的定义中,我们使用 q h box layout 创建了一个对象指向,这个对象指向的名称为 hbox。 然后我们使用 q post 八层类创建了两个对象指针,这两个对象指针的名称分别为 b t n 一, b t n 二,然后我们使用 int 定义了两个整形变量,这两个整形变量的名字分别为 id 一、 id 二。 在这个窗口类的定义中,我们重新定义了定时器事件的处理函数 timeevent, 然后我们定义了两个槽函数,这两个槽函数的函数名分别为 kill time 一, kill time 二,然后我们双击打开这个窗口, delete 原文件, delete 点 c p p。 下面我们讲解一下这个窗口类原文件中的代码。在这个窗口类的构造函数中,我们首先使用 set 参数这个方法设置了窗口的位置和宽高,然后使用 set window title 这个方法设置了窗口的标题。 然后我们使用 n 运算符创建了一个水平布局对象,并将该对象的首地址复制给对象指向 hbox 这个水平布局对象的副对象为 list 指向,这表明我们设置了主窗口的布局方式为水平布局。 然后我们使用 starttime 这个方法启动了一个定时器,并将这个定时器的 id 赋值给变量 id 一, 这个定时器的时间间隔为一千毫秒,它是一个比较精确的定时器。 然后我们使用 starttime 这个方法启动了第二个定时器,并将第二个定时器的 id 号赋值给变量 id 二, 这个定时器的时间间隔为两千毫秒。第二个定时器是不太精确的定时器,是有误差的定时器。 然后我们使用扭运算符创建了一个按压按钮控件,并将该控件的首地址复制给对象。指向指点 b t n 一、 这个按钮控件上显示的文本为停止第一个定时器。 然后我们使用扭运算符创建了第二个按压按钮控件,并将该控件的手地址复制给对象时针 b t n 二、这个按钮控件上显示的文本为停止第二个定时器。 然后我们使用 hbox 的 add 微指令这个方法向水平布局中添加了第一个按钮,并添加了第二个按钮。 然后我们使用信号槽机制,将第一个按钮的单机信号与这个窗口内的槽函数 kill time 一 相关联。 然后我们使用信号槽机制将第二个按钮的单机信号与这个窗口内的槽函数 kill time 二相关联, 然后我们讲解一下定时器事件的处理函数 timeevent, 这个函数有一个参数 e, 参数 e 为 q timeevent 类创建的对象指真, 在这个函数中,我们使用对象指真 e 的 timeid 方法获取定时器的 id 方法将这个定时器 id 转换为次复串,并将它赋值给次复串 num。 然后我们使用四个串 a, u, m 和其他四个串相连接,并将返回值赋值给四串 t e, x t。 然后我们使用 q d bug 打印输出四串 t e, x t。 下面我们介绍一下自定义函数 q time 一, 在这个函数中,如果 id 一 为真,则调用 q time 这个方法停止定时器,停止的这个定时器的 id 号为 id 一, 然后我们介绍一下自定义函数 q time 二,在这个函数中,如果 id 二为真,则调用 q time 这个方法停止定时器, 停止的定时器的 id 号为 id 二,然后我们单机运行按钮运行一下这个项目 大家可以看一下啊,已经显示了这个运行窗口,这个运行窗口整体采用的是水平布局,水平布局中有两个按压按钮控件, 这个窗口会启动两个定时器事件,我们单机第一个按钮会停止第一个定时器,我们单机第一个按钮, 大家可以看一下,这时只打印输出,这是第二个定时器,我们单机第二个按钮会停止第二个定时器,然后我们单机一下, 大家可以看一下,这是关闭了第二个定时器。这节课我们主要介绍了定时器事件。

好,那你你简单说一下,就是 qt 里边常用的空件有哪些?然后举几个例子, 并且说的时候再把这个常用的空件里边那个作用以及它里边那个信号能用来干什么?简单说一下,这里面的常用的空间有一个 linen 的 呃输入框空间,它是它为用户提供的一个输入框和编辑文本的 一个,一个提供的一个为用户提供的一个这样的一个输入方,他是用来做什么?是他有,呃,可以呃,当用户呃呃选中或者未选中,呃,有有用户选中和未选中、未选中和 和复制粘贴的一个信号。呃,还有,呃,还有其他的信号是你说的空面。首先你这个读的时候 你读的啥? line? 啥?呃, line? n, 那 么 e、 d、 i、 t 呢?你像这些这些英语单词你要不会读的话,你你那个百度翻译啥的,那不有很多那些在线的工具吗?啊?你们都都不读一遍了? line edit、 edit、 edit, 编辑,来来来, end, 来 end, 我 的妈,来 edit, 对 吧?你说的时候应该说一下它这个控件,它在这个桌面上的展现形式是什么呀?是不就是一个正常的输入框正常输入,然后呢?它主要的作用就是用来收集用户信息的, 用户可以在输入框里面去填写一些这个对应的信息,然后里边有一些这个信号。嗯,单机和双机 点击和双击按钮按钮输入是像是呃用户输入文本或者编辑文本时用来显示提供显示的一个那个,还有一个信号是还有信号其他的信号。 你这说的是信号吗?它这里边第一个信号就是啥?当输入文本内容发生改变时,是不是触发一个信号?输入文本或者编辑文本?编辑文本的时候也有信号啊?也有。还有什么?还有。呃, 选中的选择文本和那个方标改变时那个啊,挺好。对,还有没有?你还有一个,还有一个比较核心的,专门用于做表单验证用的,当拒绝这个用户输入的时候,正则,正则输入那个验证的那种。 人家那个信号不是正则输入验证啊?人家信号是当输入框拒绝用户输入信息的时候发的一个信号叫 input reject, 是 不是?这跟正则有啥关系吗?正则只是我们用来做输入框内容验证的一种 方法而已,它只是一种验证器而已。对,乱,很乱。然后你在说的时候,你正常直接说这个。有,有一个这个控件叫 q line edit, 用于用于做这个用户输入的,可以它这里边有这些信号。你像刚才我们说那个,当输入文本内容发生改变时,它触发信号。 那你不能光说一个信号啊,你得说我们用它可以,是不是可以做一个密码验证?密码的弱中强,是不是强度较验? 可以做一个吧。其次你像那个,那那个输入框那个施胶事件,那我们在输入信息之后呢?可以直接让它施胶,比如说登录的时候,哎,失去焦点时,可以直接验证一下这个你输入的账号是否已经被注册过呀?或者账号是否正确呀,可以做这个验证。那个 input reject, 这个是当输入框拒绝用户输入内容的时候,这个验证器它里边可以做各种各种验证,都可以做里边手机号的格式将印 汉字胶印、身份证号胶印、邮箱胶印、密码胶印等等,用它时候都可以做,确保能够用户输入的信息要是正确的。啊,这个胶印主要做这个东西的,那这只是我们 qt 众多空间里边的其中一个,就是输入框空间,那除了这空间之外,我们之前说的还有什么? 哼! q label 做文本信息展现的,比如说图片信息展现的。二什么? q 后期 button 那 个按钮系列的普通按钮、单选按钮、多选按钮 等等,这是不是一些常见的空间啊?在这里边我们说比较核心的用户,比较核心的就是按钮空间以及这个输入框空间。像这些东西我们在项目里面到时候用的时候比较多一些,大家就需要把这个空间里边的作用,他的展现形式以及他所具备的这个各种信号 啊,信号里面能够针对于什么样的场景去使用,这个是需要大家详细了解的吧?啊? ok。

各位同学好,欢迎大家来到用 qt 六创建 jui 程序微课堂,这节课主要介绍事件过滤。 在 qt 六中,如果要监测某个控件,则这个被监测的控件需要使用 install 一 维的 fill 方法安装事件过滤器,其中参数 field obg 为管理监测的控件指征。 如果要解除某个控件的事件过滤器,则这个被监测的控件可以使用 remove ewind filter 方法解除监测。在实际应用中,开发者可通过重写过滤处理函数 ewind filter 来处理过滤事件。其中参数 watched 表示被监测的控件对象指向执行,其中参数 un 的 表示被监测控件的事件对象指向执行。 如果过滤处理函数的返回值为处,则表示事件已经过滤掉了。如果过滤处理函数的返回值为 false, 则表示没有被过滤。 下面我们做一个例题演示实践一下。创建一个窗口,该窗口包含两个框架,每个框架中包含一个按钮, 如果拖动一个按钮,则另一个按钮也会同步移动,要求使用事件过滤,我们演示实践一下。 首先我们打开 qt creator, 由于我们要创建的项目中的代码比较长,所以我们已经提前将这个项目创建并编辑好了, 就是这个项目代码十六,这个项目会与地盘的 type 十文件夹下。从这个项目的文件目录中我们可以看出,我们选择的模板为 qt width application, 我们选择的窗口类的基类为 qvd 的, 这个项目中没有 ui 文件。首先我们单机运行按钮运行一下这个项目, 大家可以看一下,已经显示了这个运行窗口,这个窗口整体采用的是水平布局,在水平布局中有两个框架空间,每个框架控件中都有一个按钮, 如果我们拖动其中一个框架中的按钮,则另一个框架中的按钮则会同步移动。我们演示一下,我们拖动第一个框架中的按钮,孙悟空, 大家可以看一下,则第二个框架中的按钮会同步移动。我们关闭这个窗口,然后关闭 demo 十六下面我们讲解一下这个项目中的代码。 在这个项目中,我们创建了一个自定义按钮类的副类为 q push button 类。 然后我们双击打开这个自定义按钮类的头文件 my push button, 点 h。 下面我们讲解一下这个自定义按钮类头文件中的代码。 首先要包含 qid 类,然后包含 qid 类,然后包含 qmail date 类, 然后包含 q mouse 一 维类,然后包含 q point 类。在这个按钮类的定义中,我们使用 q drag 类创建了一个对象指向指,这个对象指类的名称为 drag。 我 们使用 q mail date 类创建了一个对象指向指,这个对象指向指的名称为 m i m e。 在这个按钮类的定义中,我们重新定义了鼠标按键事件的处理函数 mouse press ewind。 然后我们双击打开这个按钮类的源文件 my push button, 点 c p p。 下面我们讲解一下这个按钮类原文件中的代码。在这个按钮类的勾导函数中,我们使用 set text 这个方法设置这个按钮上的文本为孙悟空。 然后我们讲解一下鼠标按键事件的处理函数 mouse press event, 这个函数有一个参数 e, 这个参数 e 为 q mouse event 类创建的对象指向指征 在这个函数中,我们使用对象指向指定 e 的 八点。这个方法可以获取鼠标按键的类型,如果鼠标的按键为鼠标左键,则执行下面的代码。 首先我们使用 new 循环符创建了一个 q drive 对 象,并将该对象的首地址复制给对象指向指令 drive。 然后我们使用对象指向 e 的 position to point 这个方法获取当前坐标点的位置,并将返回值赋值给坐标点对象 pos。 然后我们使用 drag 的 sethot spot 这个方法设置了热点位置为 pos。 然后我们使用 n 运算符创建了一个 q map data 对 象,并将该对象的首地址复制给对象指向指针 m i m e。 然后我们使用 drag the set map data 方法设置托放中传递的数据, 然后我们使用 drag 的 e x e c 方法开始拖动操作。在这个项目中,我们也创建了一个自定义框架类 my free myframe 类的负类为 q frame 类。首先我们打开这个自定义框架类的头文件 myframe 点 h。 下面我们讲解一下这个框架类头文件中的代码。 首先要包含 q widget 类,然后包含 my push button 点 h, 然后包含 q point 类, 然后包含 q drag enter event 类,然后包含 q drag 木 event 类。 在这个框架类的定义中,我们使用 my push 八零类创建了两个对象指向直角,这两个对象指向的名称分别为 b, t, n, b, t, n, c。 然后我们使用 q v d 创建了一个对象指向的名称为叉五的。 在这个框架类的定义中,我们重新定义了鼠标进入事件的处理函数 drag enter event。 重新定义了鼠标移动事件的处理函数 drag move event。 然后我们双击打开这个框架类的原文件 myframe 点 c p p 下面我们讲解一下这个框架类原文件中的代码。 在这个框架类的构造函数中,我们首先使用 set accept javascript 方法设置框架可接收鼠标拖放事件。 我们使用 set frame shape 这个方法设置了框架的形状。然后我们使用 n 运算符创建了一个按钮控件,并将该控件的首地址赋值给对象指定 b t n。 然后我们讲解一下鼠标进入事件的处理函数 drag into event 这个函数有一个参数 e, 参数 e 为 q。 drag into event 类创建的对象指征。 在这个函数中,我们首先使用 e 的 position to point 这个方法获取当前点的位置,并将返回值赋值给坐标点对象 pos。 然后以坐标点对象 pos 为参数,使用叉 o 的 方法获取指定位置的空键,并将该空键的手地址赋值给对象指向指定叉 o 的。 然后我们使用类型转换符 startcast, 将 child 的 这个对象指向转换为 my push button 类型的对象指向指令,并将返回值赋值给对象指定 b t, n, c。 然后我们使用条件语句,如果 b t, n, c 是 可见的,则使用对象指向指定 e 的 accept 这个方法接收事件,如果是不可见的,则使用对象指向指定 e 的 ignore 方法忽略事件。 下面我们讲解一下鼠标移动事件的处理函数 drag 默 ewind 这个函数有一个参数 e, 这个参数 e 为 q drag 木 ewind 类创建的对象指向指针。 在这个函数中,我们使用对象指向指 e 的 position to point 这个方法获取当前坐标点的位置,并将返回值赋值给坐标点对象 pos。 一, 然后我们使用 f 语句, 如果 b t, n, c 是 可见的,则使用 b t, n, c 下的 drag 下的 hotspot 这个方法获取热点位置,并将返回值赋值给坐标点对象 pos。 二、 然后使用 b t n c 的 幕这个方法移动指定的距离,移动的距离为当前点的位置和热点位置之间的距离。然后我们双击打开这个窗口类的头文件 v d 的 点 h。 下面我们讲解一下这个窗口类头文件中的代码。首先要包含 myframe 点 h, 然后包含 q h box 域, out 域,然后包含 q object 域,然后包含 q move 域域。在这个窗口类的定义中,我们使用 myframe 创建的两个对象指向, 这两个对象指向的名称分别为 frame 一, frame 二,然后我们使用 q h box 列 out 类创建的一个对象指真,这个对象指真的名称为 h box。 然后我们重新定义了函数 even filter, 然后我们双击打开这个窗口类的源文件点 c p p 下面我们讲解一下这个窗口类源文件中的代码。 在这个窗口类的构造函数中,我们首先使用 set 这参数这个方法设置了窗口的位置和宽高,然后使用 set window title 这个方法设置了窗口的标题, 然后使用 set accept drop 方法设置了这个窗口可接收鼠标拖放事件,然后使用 n 晕算符创建了一个水平布局对象,并将该对象的首地址复制给对象指定 h box 这个水平布局对象的副对象为 list 指针,这表明我们设置了主窗口的布局方式为水平布局。 然后我们使用 new 运算符创建了一个框架控件,并将该控件的首地址赋值给对象指令 frame 一。 然后我们使用 new 运算符创建了第二个框架控件,并将该控件的首地址赋值给对象指令 frame 二。 然后我们使用 hbox 的 a d, d, v d 的 这个方法向水平布局中添加了第一个框架,并添加了第二个框架。 然后我们使用 frame 一下的 b t n 下的 install ewind 的 filter 这个方法将 b t n 的 事件注册到这个窗口上。 然后我们使用 frame 二下的 b t n 下的 install ewind filter 这个方法将第二个框架下的按钮的事件注册到这个窗口上。 下面我们讲解一下事件过滤函数 ewin filter 这个函数有一个参数 e, 这个参数 e 为 q ewin 的 类。创建的对象指真。 在这个函数中,我们可以使用对象指定 e 的 type 这个方法获取事件类型。如果事件类型为 q ewin 的 木,也就是移动事件,则执行下面的代码。 首先我们使用 startcut 这个方法将对象指向 e 转换为 q 木 e 稳的类型的对象指向,并将返回值赋值给对象指向指向指向 e 稳。 然后我们使用条件语句,如果 watched 为 frame 一下的按钮 b t n, 则 frame 二下的 b t n 按钮移动到当前事件点的位置, 然后返回处。如果 watch 为 frame 二下的按钮 b t n, 则 frame 一下的按钮 b t n。 移动到当前点的位置并返回帧。 如果事件类型不为移动事件,则返回值为 q object 的 静态方法 ewind filter 的 返回值。然后我们单机运行按钮,运行一下这个项目, 大家可以看一下已经显示的这个运行窗口,这个窗口整体采用的是水平布局, 在水平布局中有两个框架空间,每个框架空间中都有一个按钮,如果我们拖动一个框架中的按钮,则另一个框架中的按钮则会同步移动。 我们演示一下,比如我们拖动第二个框架中的按钮孙悟空,大家可以看一下第一个框架中的按钮会同步移动。这节课我们主要介绍了事件过滤。

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

逼自己一周练完,其实你的剪辑憨爆了!警告!本系列视频耗时五百二十小时,制作共计一百二十分钟。本视频包含剪辑片、思维片、 特效片、调色片,带你一口气从新手小白到剪辑大神,让你学完之后也能剪出高级感大片。同时也准备好配套的练习素材、思维导图软件、插件预设等安装包, 评论八八八即可领取。每天进步一点点,从小白蜕变为大神!还有从零到一的剪辑学习计划安排表,帮你把每周每天的目标安排的明明白白,还有各种行业知识,接单、沟通答疑等技巧,记得及时领取哦!注意,领取素材不收费!不收费不收费!上节课我们对界面有了一定的了解,那么这节课我们先来认识工具栏里面的工具吧, 这一列是我们工具栏的位置哈。首先我们先来到选择工具,它是我们最常用到的工具,我们把鼠标放在这上面,可以看到它的快捷键是 v。 我 们把鼠标放在素材的前后, 会发现它出现一个类似中括号的标志,那它可以对我们的素材进行一个简单的裁切,可以去拖动它的显示范围。还有一个最常用到的就是我们的剃刀工具 c, 我们把它放在我们的素材上面,去按下左键,素材就被分成两半了。 cv 的 一个转化是我们经常去用到的哈。当我不想要中间这一段的时候,我们可以按一下 c 键转化为剃刀工具,切一刀, 站在不要的位置,再给他踩一刀,然后再去按微键转化成选择工具,把中间这一段给删掉,然后这里的空白区域我也不想要,鼠标左键点一下,按下键盘上的 delete 键给他删掉, 这样子后面的素材自动就对齐了。使用快捷键会提高我们的工作效率,所以我们的快捷键需要熟练的掌握。接下来我们再讲其他的,这里是向前选择工具,当我们鼠标长按这里,就会发现他有两个选项,一个向前,一个向后, 向前的快捷键是 a, 选择这个工具之后,我们点击一下就会发现在点击的位置,他把我们箭头所指的所有向前的素材都给选中了,那按一下 shift 键加 a, 可以 转化为向后选择工具, 点一下可以进行一个拖动,这个工具也是比较常用到的哈。 再再来到这里,我们比较常用到的还有一个比例拉伸工具,快捷键是 r, 如果我们想把这段素材变得慢下来,或者时间再拉长的话,我们可以把它放到素材的末端进行一个拉伸, 可以看到他的一个显示时间,这样子素材就被我们拉长了,但是对应的他的速度呢,就会变慢下来,我们可以播放来看一下,会变得一卡一卡的。接下来要讲的工具是钢笔工具, 他的快捷键是 p。 钢笔工具他的作用还是比较多的,我们在画面上进行一个任意的绘制,他就可以创建一个图形, 也可以用钢笔工具对人物进行一个抠图。在之后的课程里面会详细讲到下面呢,我们可以看到矩形工具,椭圆工具和多边形工具,它和钢笔工具是差不多的,钢笔工具可以任意绘制,但是矩形工具它只能画出矩形, 或者按住 shift 键或者一个正方形。椭圆工具,它可以画成一个椭圆,同样按住 shift 键可以画成一个正圆。下面这个多边形工具, 它显示出来的就是一个三角形,下面呢是一个手型工具,如果我们把视频查看模式放的非常大的话,就可以用手型工具对画面进行一个挪动。 还有一个就是我们的文字工具了,我们在选择它之后,在画面上可以输入文字,也可以双击文字,对文字进行一个更改。 我们长按文字工具会发现它默认是横向的,如果说我们想打出垂直的字体,也可以在这里进行更改。 工具栏这里呢,我们已经学会啦,那接下来我们来了解一下效果控件,它是用来做什么的呢?它是在 pr 中调整画面的位置,大小,不透明度等等, 以及我们给素材添加的视频效果。音频效果也可以在效果空间里进行调整,是我们最常用到的一个工具。首先我们得点击时间线上的素材,这样子效果空间的面板就被激活了。 我们看视频这一栏,他被分为运动、不透明度,时间重新设音频,这里被分为音量通道,音量还有声像器这些。我们把面板向上拖,如果我们点左上角的这个 f x, 那 么这一栏就会被关掉了。如果我们之前有对素材调整过位置或者其他的数值更改也会被关闭, 那么这里呢,我们先给他点开,我们会看到运动这里有位置缩放,旋转毛点,防闪烁滤镜裁剪左侧裁剪顶侧裁剪右侧裁剪底部,这些 由于防闪烁滤镜我们不常用,这里就不过多介绍了。那么我们先来看位置,前面的这个参数是控制我们的 x 轴,也就是横向,后面的这个参数是用来控制我们的 y 轴,就是纵向。这些蓝色的数字呢,我们都可以去更改的, 更改的方式呢有两种,首先我们可以点击它,然后输入我们想要的数值,它就会更改。 还有一种方法呢,就是鼠标左键放在上面长按进行拖动,下面这个是缩放,顾名思义就是缩小和放大,所有素材默认的大小都是一百,当我们这个数值小于一百,我们的画面就会变小, 当数值变成零,我们的素材也就不见了。当我们的素材大于一百呢,我们的画面就会变大。接着我们往下看,这里有一个等比缩放,我们把等比缩放前面的对勾给它取消掉的时候, 高度和宽度就会被激活,我们可以单独对这个画面的高度进行一个缩放, 或者对宽度进行一个缩放,但是呢这样子就会让我们的画面产生变形,一般呢我们还是把等比缩放关掉比较多的哈,大家也可以按照自己的需求去更改就好了。下面这个是旋转,就是我们调整这个数值, 可以让我们的画面进行一个旋转,下面这个是非常有意思的哈,他是毛点,或者说他是我们视频的一个中心点,着力点,我们的旋转缩放位置都是依靠这个毛点来发力的,我们来改变一下毛点的位置, 我们把鼠标移到这个锚点上面,在箭头的下方他会出现一个锚点的标志,这个时候我们就可以挪动这个锚点了,把它挪到我们的端点上面来,现在我们再来旋转一下, 就会发现它会围绕着这个锚定来的哈。如果我们想要还原的话呢,可以按一下快捷键 ctrl 加 z, 那 也可以点击后面的这个重置参数,那如果我想把运动这里的所有参数还原的话,也可以点击运动这里的重置参数, 这样子所有的数值就都还原了。下面我们来讲不透明度, 这就涉及到我们 pr 的 一个层级关系。什么是层级关系呢?简单点理解就是越上面的素材在节目窗口里面显示的画面也是最上面的, 相反最底下的画面就会被上面的画面给盖住,就像现在这个样子,我们把最底下的素材给他缩小,就能看到下面的素材了,那我们把这层的素材也给他缩小,我们就可以看到最底下的素材了,这就是 pr 的 层级关系。 这里我们把上面素材的不透明度给更改一下,就会发现一些溶解的变化。我们先来看一下这个变暗,我们点击一下它会发生什么呢? 他是把两个素材当中更暗的地方给呈现出来,他去除掉的是哪部分呢?去除掉的是更亮的部分,可以看到哈,那下面的都和边缘差不多的哈,只是程度的不同,这里我就不过多的演示了,大家可以自己尝试玩一下。 接下来我们看到变亮,我们来点击一下他,这里呢两个素材当中更亮的部分会显示出来,去除掉的是更暗的部分,那下面我们来说一下叠加, 叠加他的作用是什么呢?他是把两个素材叠加在一起,暗的地方会更暗,亮的地方会更亮。去除掉的是哪一部分呢?去除掉的是中间灰色部分。接着我们再来说一下差值, 一般上面部分我们用到的会比较多,往下这两个用到的就比较少了。差值的话我们点击之后会发现画面变得比较诡异,所以我们用的也比较少。 当然大家也可以用它去做一些特殊的效果,它是对色值进行一个加减乘除,所以画面才会出现这样的效果。 接着我们来讲一下色相,他们是根据色相的不同进行了一个上下的叠加, 哪个画面的饱和度或者浓度更高,他就会显示哪个,那这些是混合模式。到这里就讲完了,大家可以自己去玩一下,如果实在不知道想用哪个的话,我们就随便挑一个试试,看看哪个是我们想要的 就用哪个就可以了。总结一句话,变暗就是去亮加阴影,变亮就是去黑加光效对比,增加质感层次,颜色组调色改色相。好,这里我们先调到正常, 这个时候我们会发现很多长得像钟表的形式,我们叫做码表哈,我们来点击它之后这个类似小方块的东西,我们把它叫做关键帧, 他可以在这里进行移动,这里的时间线呢,对应的就是我们这里的时间线了,这个时候时间指示器也是相对应的。现在呢我们已经记录了一个关键帧,我们对参数进行更改,他就会自动记录下一个关键帧, 我们点击这里手动去添加一个关键帧,再点击一下直接移除关键帧, 这里呢是跳转到上一个关键帧,另外一边呢这里呢是跳转到下一个关键帧,现在我们来播放一下,按空格键可以看到这里的数值是在不断跳动的,它会一直持续到我们下一个关键帧 就会自动停止了。关键帧删除的方法有很多种哈,第一种是我们可以直接去选择他按键盘上的 delete 键进行删除,也可以点击码表,他就会删除里面所有的关键帧, 这就是我们的关键帧。关键帧的作用就是让我们的动画动起来,我们很多特效就是用关键帧去制作的,所以课后大家一定要及时的练习哈。 接下来我们要用学到的内容做两个案例吧,第一个就是这种跳切卡点,我们来播放看一下, 就是这种,要做这种案例呢,我们首先得导入一段音频,我们把我们的音频直接拖过来,我们选择自己想要的这一段,我们可以按键盘上的 q 键删除首端 后面我们先选到这儿,按一下键盘上的 w 键,这样子我们的音频就选择完了。 如果说你一开始把音频拖过来,没有像我这个音频轨道这么大怎么办呢?我们把鼠标放在音频轨道的前面,按一下键盘上的 alt 键加滚轮,就可以对它进行一个放大和缩小。 那么现在我们音频导入进来之后,我们是不是要对它进行一个卡点操作呢?我们也可以用到我们的插件,在这里窗口点开有个扩展, 这就是我们的卡点插件,但是因为这一次我们的播放呢看的比较清楚,这个卡点比较简单,我们可以直接进行卡点,不需要插件也可以的哈。我们现在先把声音调低一点, 可以直接拽着这个线往上或者往下拖,也可以选中这个之后找到我们右边这个属性面板,这里有个音频,我们可以把音量往下压低或者往上拉高,都是可以的哈。 接下来我们可以把音频轨道给拉长,这样方便我们卡标记点怎么拉长呢?我们可以把鼠标放在音频轨道上,按住 alt 键 加滚轮进行一个放大和缩小,还可以看到我们下边这有一条滑轨,我们对它进行拖动, 我们上面的时间线它也一直在移动,我们先把它拉到最开始,好按住后面的这个,我们也可以对它进行一个缩小,我们拖动这个直到我们非常清楚的看到这个波峰为止哈。 接着我们就可以进行卡点了,一般情况下波峰比较高的地方就是我们要的鼓点了,具体呢我们得听一下,判断一下是不是,我们来看一下是不是 基本上每个波峰高的地方就是一个鼓点,那这样子的话我们卡点就会比较容易,因为每个波峰卡一次点就可以。这个时候我们按键盘上的 m 键, 我们会发现我们的标记点打在我们的音频轨道上,这是因为我们选中了音频轨道,如果说我们什么都不选择的情况下,再去按一下键盘上的 m 键, 就会发现他打在我们时间线上面,这个可以根据自己的需求去操作哈,我这里呢先把他打在时间线上,会比较方便查看一点。好,接着我们开始打标记点, 一般来说呢,我们把标记点打在波峰较高的前面一点点,如果像这种波峰刚好卡在半针中间,我们可以往前打,不会影响我们的听觉的哈。 好,我们先把第一节的标记点给打上,第二节又是比较重复的节奏哈。接着我们来处理一下这两个素材,我们双击素材进入到我们原面板里面, 这里呢我已经挑好了片段,直接把我们的素材拖到时间面板上就可以了。好,那么我们来挑第二段素材,双击到原面板里面, 可以看到这里我已经贴好了,这个时候会发现我们的素材和我们的音频轨道他没对上, 如果我们直接去拖的话,就会发现后面不是我们想要的素材,怎么办呢?这个时候我们就会用到比例拉伸工具,直接拽着素材往后拖,和音频轨道一致就可以了, 拽着素材往后拖,和我们的音频轨道一致就可以了。我们做这种跳切卡点的视频的话呢,两段素材的人物变化不能特别大,不然做出来的效果就会很奇怪, 那么现在呢,我们就来调整一下我们的素材,选中第一个素材,来到效果空间这里, 找到不透明度,把不透明度往下降低,直到我们能看到下面的素材,并且上面一段素材不会完全消失。 这个时候我们会发现两段素材还是有些差别的,就需要我们手动进行一个调整,我们会看到下面的这个人物呢,是比较小一点的,我们选中下面这个素材,找到缩放,把它放大, 和我们上一段素材差不多大小就可以了。接着我们来调整一下位置,感觉好像还没有很大,再放大一点点好,基本上重合就差不多了。这个时候我们选中上面这个素材,把不透明度给他拉回来 就好了。因为我们刚刚对素材进行了一个缩放,所以我们在操作的时候一定要注意不能够露出黑边。现在我们素材都处理好了,接下来的操作就比较简单了,直接按键盘上的 c 键切换为剃刀工具, 在标记点的这个位置来一刀,下一个标记点的位置也来一刀,好,每个标记点都来一下,然后我们按 v 切换为选择工具, 把这一段给他删掉,中间空一个,下一个也给他删掉,这是一种方法。还有一种方法是什么呢?我们切换为剃刀工具来一下,再按微切换为选择工具,按住这个素材,对素材进行一个裁切也是可以的哈, 那这里我还是比较习惯用我自己的方法,都给他切完之后,然后再去按选择工具,隔一个删一个,这时候我们就做好了,我们来播放看一下。 好,接下来我们要做一个比较难一点的画中画卡点视频,这个就需要用到我们这节课所讲的效果空间里面的内容啦。我们先来看一下大概的一个内容, 我们可以看到刚刚我们做的跳切卡点视频呢,是不是只卡声音不卡画面的呀?那这个案例呢,就是只卡画面不卡声音,那我们接着就开始操作吧,首先呢我们要先键训练,在这里先键训练 还是二十四针大小不变,确定,首先把我们的音频拖过来,然后我们来听一下音乐, 这个鼓点是相对比较密集一点的哈,我们可以来借助一下工具窗口拓展, 找到我们的卡点插件添加音乐。好,首先我们得选中之后添加音乐才可以,稍微等一下下,我们来听一下, 会发现它卡住了,但是好像细小的点还没有卡住,我们先选中好把它关闭之后我们再放大我们的音频轨道看一下, 像这种小一点的他没有卡住。接下来我们就要手动卡点,我们把它放到波峰的前一针的位置,点一下这个标记点。快捷键是 m 都可以哈,直接点也行,直接按快捷键也可以, 这个因为他进去比较小哈,刚好卡在半针的位置,我们卡在前一针的位置不会影响到我们的听觉的。好,这个卡完了,我们接着往后看,基本上还是比较好观察的哈,直接标记就可以了, 现在我们标记点已经打完了,我们开始下一步的操作,我们先把我们的画面给放出来。好,我们先来看这一段,我们来分析一下它是不是有好多个画面堆积在一起的呢? 这个就涉及到我们 pr 的 一个层级关系,那我们要做的时候呢,肯定要先把最底下的素材给放上去,这样子我们再放上面的素材的时候,底下的画面就会被盖住,就可以达到这样的效果了。 好,我们先来把这个画面给放上去,我们先来做最底下这个画面,我们找到这个素材,选取这一段的画面之后,直接拖拽画面到时间线上面来,这时候我们发现它画面有一点点大,我们可以来到效果空间这里,对位置进行一个缩放, 稍微放的小一点点,然后我们发现他这个位置好像也有点不对,这时候呢我们有两种方法,第一个直接拖拽位置的这个数值进行拖拽, 可以调整位置,还有一种方法是我们选中这个运动,这样的话我们直接在节目面板里面拖拽这个画面,可以放到自己想要的位置就可以了,我们先把它放在这里, 接着我们来找第二个画面,就是这个画面,把它拖拽到下一个标记点上,我们来拖动指伸看一下, 我们拖拽过来之后,发现这个素材铺满了我们整个画面,我们接着来到效果空间这里,对它进行一个缩放,接着我们来裁剪左侧裁剪右侧,把它裁剪成一个长方形,接着对它进行一个缩放,把它放的小一点, 把我们的鼠标按一下这个运动,就可以在节目面板里面拖拽这个素材,放到我们想放的位置就可以了。好,那么接下来我们再去找另外一个画面, 我们来给它裁一下,把它拖拽到我们时间线上面来,接着选中这个画面,找到效果空间,也给他左边裁一下,右边裁一下,把它裁剪成一个长方形, 好把它进行一个缩小,有点太小了,我们把它放回来,接着我们再对它进行一个缩小 点,到运动这里就可以直接拖拽,再给它缩小一点,和我们后面这个差不多好就可以了。 接着呢,我们会发现我们的视频轨道不够用了,上面的素材放不了了,怎么办呢?我们把鼠标放在视频轨道的地方,右键找到添加轨道, 这个时候我们可以添加视频轨道,也可以添加音频轨道,因为音频轨道目前我们只用到背景音乐, 所以我们现在添加一下视频轨道,添加多少都可以啊,直接在这里输入数字,我现在先添加五个,确定好,我们把这个往上拖,就会发现上面的轨道就出来了。接着我们直接复制这个视频,按住 alt 键 鼠标左键按住这个素材往上拖就可以复制了,放到下一个标记点上。 好,这个也是一样的,同样的操作,我们先给他复制出来之后,再去挪动他的位置就可以了,我们会发现这么来回拖不是很方便啊,这样的话我们可以把音频往下降低一点,因为我们的卡点已经卡完了,暂时不需要。 接着我们可以把鼠标放在这里,按住 alt 键,把视频轨道给它缩小一点,这样我们就能够看全了,这样就行了。接下来我们来改变一下他们的位置,在这里选中运动之后,可以直接给他往这里拖。 好,我们选中这个之后再给他往后面拖,会发现这个层级关系好像乱了一点。没关系啊,我们等一下再去调整这里,我们会发现他的所有的长短都不一样,我们可以找到这里的比例拉伸工具, 对他进行一个拉伸,这个时候再按键盘上的 v 选择工具就可以了,在所有画面都能看到的情况下进行挪动,我们来拖动一下他的层级,我们把所有的都调整之后呢,会发现图片好像有点小, 之后呢,感觉有点太密集了,这时候呢,我们再重新调整一下数值,把比例拉的大一点, 我可以看一下,大概五十左右。好,下面这个呢也给他拉的大一点,二十五,二十五,可以的啊,每一个都给他调一下,好,再去改变一下他的位置,这样子我们的位置就放完了。但是下面又有一个问题,这个时候我们会发现他们的颜色都是一样的, 有点分不清,怎么办呢?我们来到右边的 limit 颜色,给他稍微的调整一下颜色, 调整一下饱和度,好,再换一个调整一下,让他每一个颜色都不一样,这样子就可以了。我发现还没有卡到下一个鼓点上面,直接选中比例拉伸工具,把他们每一个都拖到下一个鼓点上面去就可以了。 好,我们再来播放看一下,好,刚好可以跳到下一个画面是什么?好,是这个画面, 我们来做下一个卡点,来找一下我们的素材,是这个在这里按一下,按一键把它拖拽过来,下面这个素材过于长了,我们给它拉回来,跟前面保持一致就行,这个给它放到下面一个轨道上来, 这个画面有点太大了,我们来到效果控件,对它进行一个缩放,然后点击运动,直接在节目面板里面对它进行拖拽,放在左下角, 然后再往上按住 ctrl 键往上复制一层,把它挪到右上角来,有点太小了,给它放大,这一个也给它放大,放大到六十。好,我们来把这个拖拽到后面一个鼓点上面来,让它一个一个的出现来看一下啊,到这个位置结束, 按一下 c 键,给它裁掉删掉就可以了,按一下 v 回来,但是发现呢它有点干掉,我们可以 k 一个关键针, 选中上面这个,找到我们的位置关键针在这个卡点的前面挪五针,在这个位置把位置的关键针打开,把它移动到后面去, 直接在节目面板这里鼠标按住这个画面,给他往后面拖,直到拖出整个画面就可以了。我们在时间指针发现这里呢,他没有完全出去,我们可以直接把这个时间指针 往后面拖就可以了,拖到后面就结束了,这时候我们把关键帧框选住,右键空间插直,缓入 缓出,这样子就好了,我们接着来定这个画面的关键针,在这个位置打开位置关键针往后面拖,让他拖出整个屏幕,把后面这个位置关键针往后面挪框,选住右键缓入 缓出。好,我们再来播放看一好就可以了。接下来我们再做下面一个画面, 下面一个画面是什么呢?我们再来看一下啊,好,是不是这个一点点在放大的这个脸。我们用这个素材 按一下键盘上的 i 键,然后直接把它拖到我们的轨道上面来,之后来到效果控件找到蒙版,现在呢他就选中了我们一部分的内容,我们点击这个扩展,让它变得大一点,我们发现这个位置不是我们想要的,我们点击蒙版路径, 把它进行一个拖动好就可以了,我们一定得选中这个运动,不然的话我们在节目面板里面是拖不动的,它有点大,我们把它缩小一点,大概到八十左右。好,把它放到右上角, 然后我们对它去个色,接着我们在右下角的饱和度这里把它拉低,变成黑白的颜色。 接着我们再复制一层,放到第二个鼓点上面去,把他直接往这里拖,给他进行一个放大位置,这里往中间这里放一下。好,接着我们再复制第三层,把这个往这里拖,给他放到最大,我们来调整一下他的一个位置。好,可以了, 这个是一个一个出来的,所以我们把后面的直接给它裁掉,不要我们来看一下。 好,接着我们来做第四个,把它往右面拖,放在这里位置这一块给他改变一下,把他往左上角去拖,位置放小一点。接着我们再来最后一个,把蒙版给他删掉,按 delete 键就可以直接删掉, 然后呢按一下运动这里的重置参数,他就可以还原了,接着我们把饱和度给他拉回来,我们会发现我们的素材没有铺满整个屏幕,怎么办呢?右键找到缩放为正大小。 好就可以了,我们来播放,看一下后面的,直接给他拉满就可以了。接着我们再来做后面的,我们找到后面的这个素材, 按一下 i 键框,选出这一部分的内容,给它放到我们的轨道上面来,之后右键缩放为正大小,找到效果控件我们的蒙版框,选出最右面这个端点,把它挪动,发现它任意方向都可以,但是我们想让它是一个长方形,所以我们按住 shift 键,这样子他就不会来回乱动了,直接把他往屏幕外面拖就可以。左边这个也是一样的操作,先选中这两个点,再按住 shift 键就可以了。好,下面这两个也是一样的操作,选中我们的范围, 好,我们就要这么大就可以了,选中运动,接着对它进行一个缩放,好放在这里,接着我们找到下一个画面,这个哎,按住 o, 直接把它拖拽到时间线上来,选中它之后来到效果空间, 对他进行一个裁剪,我们可以直接选择裁剪,也可以用蒙版,都是可以的。好,接着给它缩小,把它放在右上角这里就可以了。接着我们来做下一个,我们来找到这一帧的画面, 好,把它往时间线上拖,放到下一个鼓点上面去,接着我们对它进行一个裁剪,左边右边,然后对它进行一个缩放就可以了。我们在这个素材放出来的时候,这个素材让它消失,选择右上角这个素材, 把它裁剪掉好就可以了,我们来播放看一下。 好,接着我们来做下面的画面,最底下这一块也给它裁掉删掉就可以了。 我们来做后面的画面,选中这个素材,把它往时间线上面拖之后发现它太大了,接着我们来到效果空间,把它缩小裁剪左侧裁剪右侧,把它裁剪成一个正方形, 接着把它放在这个位置,好,我们在下一个鼓点放下一个画面,我们来找到下一个画面,这个选择, 把它放到下一个鼓点上面去,接着对它进行一个裁剪,接着我们调整它的缩放啊,把位置给他放在右上角这里,接着我们来下一个鼓点,放下一个画面,这个画面给他裁下来, 挪过来放到下一个鼓点,来到效果空间裁剪,对他进行一个缩小,放到这里来,操作呢,都是一样的,就是对画面进行一个裁切和放大,缩小 用到的全部都是我们的效果控件。我们这个画面我们给他一个进来的效果,给他先放在外面,打一个位置,关键针给他放到这里,让我们的画面慢慢的出来,放在这里。好,我们的关键针就打好了,我们选择缓入 缓出,接着我们来做下面一个画面,对它进行一个缩小,把它放到这里来,下面放这个拖拽放在这里这里让它所有的素材都在这里去消失, 后面的裁掉给它删掉,其他的全部都用比例拉伸工具给他拉过来。好,我们现在来看一下效果好,后面都是同样的操作哈,我们先来看一下我们做的 好,现在这一块呢我就不演示了,大家在课下一定要好好认真的去练习啊, 那今天的知识点都掌握了吗?这节课我们学到了工具栏里面的工具效果空间里面的效果, 今天我们做的这两个案例呢,都跟这两个工具有很大的关系,所以课下呢大家一定要认真仔细的练习哦,每天一练,早日从小白蜕变成大神。好,那这节课就到这里,拜拜。

二零二六年,你还在用 q d d 三的手动设计界面吗?对于小白来说,效率慢不说,界面不美观,还需要手动写信号与槽功能。老师一看你的界面,连夜叫你美化界面,你头脑一片空白,无从下手。 那么今天我手把手教你使用 ai 工具,全程自动化,帮你开发自己的深度学习格式化系统,全程无需新建文件,你只需要跟 ai 聊需求即可,真正一个人靠 web 扣点工具就能搞定深度学习毕业设计系统, 使用国际版权,打开 unit 项目,在右下角聊天框,选择 builder 模式,提前准备好 chat gpt 生成的提示词,这里直接发送即可。 好的,这里任务完成。看起来界面还可以,先上传图片进行测试,看看有什么 bug。 我 靠我靠,怎么回事?上传图片无限放大。 前面这次还有其他 bug, 就是 无法切换菜单的问题,看你到底要干啥?上传乱七八糟的界面,不过没有关系,我们继续让它修复这些 bug。 第二次修复完成,我们来测试一下,看看还有什么 bug。 可以看到,之前的不限放大问题已经修复,但是新的问题又来了,真的是遇到复杂的问题,却竟然装作不懂。我第一次明明叫它调用 predict 点 py 文件写好的预测方法,现在的推理结果一塌糊涂,我真的服了,我们接着继续让它修复看看 这里推理结果好像是模拟的,我们重新叫它根据 predict 点 py 文件里面的实际推理逻辑,实现正确的预测功能。 好的,最后一次推理结果终于正确的了。这个过程也是经过一波三折,国内版的模型真的有这么拉吗?呃,这个怎么说呢,还真是有点, 毕竟它是免费的嘛,对吧?为了验证我的其他模型推理正确性,这里我们更换其他分割模型进行测试看看。好的,这里更换其他任务的分割模型。测试结果是没毛的, 但是我感觉这个界面不够美观,我们可以继续让它重新生成一次。在此之前,我们先备份一下当前的界面代码,以免改乱。后续想用时候就把它放到橡木跟目录即可,大家应该都懂的。 重新打开 tree, 新建一个聊天框,还是老样子,选择 build 模式, 提前准备好提示词。提示词这次使用 jimmy 生成的,让它结合 u i u x 技能生成界面 直接发送。但是白天时候 try 需要排队哦,没办法呀,毕竟免费的嘛。我这里先准备第二种方案,就是使用 cloud code, 然后接入国内的 minimax 模型。 这里先等待 try 生成,后续排队久的话我就用 cloud code 开发了。 我们先启动系统看看效果。 ai 怎么生成的?界面没有推理按钮,难道你让我手动上传结果图进行分析?那你生成的界面有啥用呀?真的服了。 我靠, chris 也太离谱了吧。大家有没有发现一个严重的问题,他没有理解我的提示词意思。正常来说应该调用 predict 文件里面的分割方法, 还有一个分割按钮,调用训练好的模型进行分析,而不是手动上传 blend 叠加图和对应的分割结果图 mask 进行分析。这理解能力和国外模型有得比。这里只能说使用国内模型时候,你必须讲得非常详细,不然它根本听不懂, 也不会根据现有代码推理出需要的按钮和逻辑,我们重新让它优化。报错的话复制错误信息喂给 ai 就 行,这里还是需要排队,这个真的受不了,一点 好的分割功能没毛,但是导出报告功能报错了还是老样子。复制错误信息喂给 ai 就 行, 这里还是需要排队。我决定使用 mini max 模型作为辅助开发,这里先替大家充十人民币试试水。之前我也用过 mini max 模型,感觉一般,主要是充钱就不用排队了, 大家懂的,反正我觉得 mini max 模型没有 gemini 三模型牛逼。我们把之前的错误复制到 cloud code 里面,让它分析修改。 好的,这里修改完成后,测试一下导出功能,发现有 bug, 这里我们把错误复制到浏览器搜索,看看是什么原因。继续让 ai 修改错误, 这里导包出现问题,这里我手动导一下。 mini max 还是不够老手呀, 报错的话继续让 ai 改就行。 经过一波三折后,导出功能终于正常了, 但是排版有些问题,我们继续让 ai 优化这个 pdf 排版问题。 这个过程也是经过一波三折, pdf 文件排版好了点,不过导出 pdf 是 次要功能, pdf 排版不是很好,后续可以继续优化。 大家可以根据实际的医院报告单再次生成类似下图这样的 pdf。

咱们资源管理器呢已经说了好多个视频了啊,那么最后呢,我们来说一说文件资源管理器的选项,也就是呢,我们对文件资源管理器呢可以做的一些个性化的配置, 实际上我们之前呢也说过一些啊,通过 out 键里面的这个查看和排序菜单,可以做一些这个个性化的调整啊,那么另外呢还有一些东西呢,是需要进入这个文件夹选项里边进行调整的, 那这个文件夹选项呢,我们可以在任意的一个文件夹内啊,还是按这个 out 键,然后呢去找到更多按钮, 回车以后上光标去找选项,回车就可以了啊,这个选项就指的是文件夹选项啊,我们打开它就可以进行一个设置了啊,那么这个窗口呢,它其实也是一个对话框 里边呢,也是一个选项卡的控件啊,我们正好在前面讲那个文件属性的时候呢,也讲过选项卡啊,所以这个他跟那个结构类似,结构类似啊, 呃,我们下面就给大家呢去直接这个听一听,看一看啊,然后呢我们挑那个重点的给大家来讲几个啊, 这里边的选项呢有一些呢,平时也基本上不用啊,或者说对咱们来讲呢没有什么影响,所以也不用去变啊,我就给大家说几个咱们有用的东西啊,好,我们现在呢去 回桌面啊,桌面我们说到咱们是在任何的一个文件夹都可以进啊,都可以进啊,那么至于从哪个文件夹进的,你自己喜欢啊,顺手哪个哪个哪个文件夹开着你就可以从哪进啊。 呃,但是呢桌面不行啊,桌面不行,所以呢,一定要先至少是从什么呢?腾讯情轩读书此电脑此电脑。第二项项目视图这样以后呢,你就可以就可以按了啊,按 out 键排序,然后右光标看更多选项,有更多选项按钮,空格撤销,然后上光标找就有了。减少选项按钮更改用于打开就行了, 比如说我们进入 d 盘也行,第二项,点进 d 盘以后,再按 alt 键新建,然后查更多选项删除,减少应选项按钮文件加选项,打开文件加载文件资源管理器时,打开就打开了啊,那么这又是这个窗口,把它 自动化,移动关闭,移动关闭,移动它就关闭,就这样吧,系统不能自动化啊。文件关闭关闭好了,这个窗口呢?他,我说他是一个对话框,他里边呢有一个选项卡的这个这个空间啊。那么首先呢,我们先按 tab 键来整体的切一下,看看这是什么内容啊?好, 在同一窗口打开文件,在同一窗口中打开每个文件加 n, 单选按钮已选中。 alt 加 n 好, 再看不见,通过双击打开项目单机时选定 d, 单选按钮已选中。 alt 加 d 好 显示最近使用的文件复选框已选中, 显示常用文件夹复选框已选中。显示来自 office 点 com 的 文件复选框已选清除 c 按钮, alt 加 c 还原默认值二按钮 alt 确定按钮 取消按钮选项卡列表常规选项卡打开文件资源管理器时,打开组合框主文件加在同一窗口中打开每个文件加按单选按钮已选中。 out 加按好了,什么意思呢?我们这一圈切完了,对吧? tab 键切完了, 那么我们听完之后呢,我们大概有一个什么样的这个印象呢?这些东西呢,好像有一些我听不明白,对吧?有一些我又听明白了啊, 那么你从这里边获取到什么信息呢?这要看你的个人这个理解和这个对这个,对这个控件类型的熟悉程度啊来判断啊。 首先这里边呢,我刚才发现了一个什么呢?发现了一个叫做选项卡列表常规选项卡啊,来,它不正确,显示清楚,还原默确定取消选项卡列表常规选项卡,这就表示呢,这个窗口里,这是个选项卡的这个窗口,那么 在这个地方可以用左右光标切换别的选项卡,你看查看搜索选项卡,对吧?查看常规,有这么三个选项卡可以切换啊,那么他默认情况下呢?是在哪呢?是在第一个常规选项卡上,常规好,所以我们后边 再按 tab 键切的话呢,都是切的常规选项卡里边的那的内容啊,那么我们 tab 键切的时候呢,有一些我发现第一个打开文件资源管理器时,打开组合框主文件夹,这个呢,很,这个含义很明确,对吧?就是打开资源管理器的时候,打开打开那个哪一个文件夹 啊?这是个组合框,对吧?组合框呢,我们曾经说过啊,它是一种可以在多个选项里边选一项的这种空间,对吧?组合框呢,我们一般情况下呢,可以直接按下空标或上空标来选, 也可以有有,有时候也需要先按 alt 加下空标,把它拉开,然后再选啊,这个可以直接按上下空标来选啊,此电脑下空标,此电脑上空标主文件夹,此电脑输入两项两项主文件,这个是控制我们打开资源管理器的时候,默认显示哪显示哪个文件夹, 这个指的指的是咱们咱们用那个 windows 加 e 去打开的时候,你显示哪一个?所以呢,这个地方你可以可以把它改成此电脑此电脑,这样的话呢,更符合咱们的习惯啊,改成此电脑啊, 好,在他们下下边这个在同一窗口中打开每个文件加按单选按钮,已选中, alt 加按。这个呢?你听起来在同一个 win 键内打开,打开,打开这个文件加单选按钮, 首先他是个单选按钮,那么我们就会知道这是一组选项,我们从中选一个,对吧?他是单选,那么用用什么键选呢?左右光标啊,左光标没有反应,那就按另一个 右光标,在不同窗口中打开不同的文件加 w 单选按钮,你选中 alt 加 w, 没有了,就这两项在同一窗口,这是什么呢?这个信息怎么样呢?我们听起来似乎不太明确,对吧?这是怎么说呢?就说这个 tab 键切的时候呢,他有些信息呢,读不出来, 那这个时候怎么办呢?我们可以尝试用小键盘的四六键,用模拟鼠标来来切一下,看看。是不能补充一下啊。 好,我现在按按六吧。文件常规,打开文件资源管理器时,打开文本,打开文件资源管理器时,打开组合框,此电脑,对吧?这个很明确啊,就就再往下看,浏览文件夹分组。 在同一窗口中打开每个文件夹按单选按钮,已选中。已设定焦点,在不同窗口中打开不同的文件夹, w 单选按钮未选中,什么意思呢?就是说这个意思,就实际上就说我们用光标键去访问的时候呢,光标键访问到了一个文件夹,你回车的时候 是怎么个行为啊?这两项一个是在浏览文件中打开每个文件夹,这是默认行为,咱们咱们以前操作操作的都是这个行为啊, 那另一个学另一个学学校呢?在不同窗口中打开不同的文件夹,那么这个时候如果你选了这个的话,那么你在关播键找到一个文件夹,一回车, 他给你开了一个新的这个资源管理器的窗口给你,给你打开这个文件夹,哎,这样的话呢,你就不能返回了,不能后退了 啊,你想切换到上一个去的话怎么办呢?得用奥,得用那个 house 加 tab 键切换窗口啊,这个可能其实对我们来讲呢,也不太不太很不太很方便了啊,所以这个不要就不就不要选了啊, 那我们接着再按 tab 键切啊。通过双击打开项目,单机时选定 d 单选按钮,以选中 alt 加 d 单选按钮,那么也是一样的,按左右光标, 通过单机打开项目指向时,选定 s 单选按钮已选中 alt 加 s, 通过双击,这什么意思呢?这个我们猜测他可能是跟鼠标有关的啊,所以呢,我们也是用小键盘的四六键, 再按六听听看,按如下方式,单机项目分组啊。通过单机打开项目指向,通过双击,这个指的是鼠标的操作啊,就是咱们之前讲过模拟鼠标,我们说的是小键盘的一三是切换这个项目,然后单机选中,双击打开 啊,这就是这个这个地方的控制的啊,你可以单机,这个可以可以可以什么?可以是指向的时候就选中,然后单机打开这个大小按钮可以控制啊,你自己来定就行了啊。 好,再弹边切显示最近使用的文件,复选框已选中,这个很明确,对吧?然后再往后切,显示常用文件夹,复选框已选中显示来自 office 点 com 的 文件,那么这些这些这些这些呢?都是在这个呃,那个文文件资源关系期里边显示这些对应的文件夹, 他这这是复选框。那么复选框的话呢,是说在一组空间里边,你选其中的一个或者是多个啊, 那么你可以直接空格键去选中或者是取消选中啊。清除显示来自奥显示常用文件加未选中显已选中未选中已选中,我们可以显示常选择啊。那么选完之后呢?你最后改完之后,这都选好之后, 最后 tab 键切切切切切,切什么呢?确定显示来自 off 清除 c 按钮, alt 加还原默认值。二、这个按钮 alt 还原默认值是什么呢?如果你改错了, 改错了,你可以把这个把它恢复,恢复到默认值啊,默认值啊。那么前面这个清空是什么意思呢? c 按显示清除 c 按钮, alt 加 c 可能不太明确,那么 你就用小键盘的四六键听一听,通过通过,在我的紧当指向图屏显示最近时显示显清除文件资源管理器历史记录文本,清除 c 按钮已设定。这个意思是吧,你明白了啊,那你需要的话就点,不需要就不用管啊。 好,最后我们得到确定还原默确定取消应用按钮 out 加 a, 这还多了一个,多了一个按钮啊,取消应用按钮 out 加 a, 这个按钮呢?一般情况下是在什么?是在这个选项被改变以后 才出现啊?那么你如果还暂时不想关闭这个窗口的话,你可以先点这个按钮,就暂时就就就先把你改过了,这些这些设置呢生效啊,然后你可以继续再改别的啊,如果你直接不改,不需要再改改不需要再改的话,直接直接点确定,取消确定也可以啊, 他跟确定有什么区别呢?就是这个点这个按钮不关闭窗口,但是点确定的话呢,窗口就关了啊,就这么一个区别啊。好了,这是呢这个文件加选项的第一个选项卡啊,常规选项卡,咱们就先说到这。

大家好,这节视频呢,我们来学习一下在 desktop 系统下如何翻译并运行一个 qt 的 应用程序。 首先呢,我们打开 f two 开发版的快速使用手册,找到 desktop 系统翻译并运行 qt 应用。这一节,在嵌式例子系统中,如果要翻译 qt 应用程序的话,通常是需要配置 qt 的 交叉编辑器。 但对于无斑图或者是德边这类发行版的 leux 系统呢,我们可以直接在板卡上安装 qt, 并利用板卡自带的 gcc 进行翻译。 这里需要注意的是,板卡上是只能完成翻译和运行的,是无法进行调试的。如果大家有调试的需求的话,可以在 windows 或者是开发环境里面安装和板卡相同版本的 qt 来进行调试。 实际上呢,对于简单的 q t 应用,我们是可以直接在板卡上进行翻译,那本节视频就不再演示这种基础的操作了。 而对于复杂的应用呢,我们是建议在开发环境里面,通过 c h 柱的这种方式,调用开发版文件系统里面的编辑器来完成翻译,再部署到开发板上去运行。 下面我们就按这种方式,以 hello world 的 测试历程为例,完整地演示一下整个的过程。 hello world 的 测试历程呢,在我们的 f two 开发版资料包里面,教程文档 q t 应用编程 q t 历程源码,这个就是 hello world 的 历程源码,我们把它复制到共享文件夹里面, 也就是我们前面设置的 linux 源代码。这一个目录复制完成之后呢,我们打开虚拟机,进入到 sdk 源码的目录下面,打开一个终端, 首先我们进入到跟文件系统所在的目录,也就是五班图的这个目录下面,这个呢就是 desktop 系统跟文件系统的一个镜像文件。接下来我们再创建一个挂载点,比如说叫做 roof, 下面我们把跟文件系统的镜像挂载到 roof 这个文件夹的下面, 输入密码 off, 这样就挂载成功了。挂载成功之后,我们进入到挂载点, 这里呢就是开发版完整的一个根文件系统了。接下来我们把要编辑的 q t 的 工程拷贝到文件系统的 root 这个目录下面, q t 的 工程我们已经提前放在了共享文件夹里面,我们直接拷贝就可以了。 共享文件夹的路径 q t 的 工程到 root 这个目录下, 大家注意我们拷贝文件夹的话,需要加上一个杠 r 的 参数回车,这样就已经拷贝成功了。接下来我们进入到 c h root 这个环境, 我们可以通过命令行的提示符判断,我们已经进入到了开发版的一个文件系统。接下来我们进入 qt 工程里面, 下面呢我们就需要使用 qt 的 构建工具 qmake 来生成 makefill, 我 们执行 qmake qmake, 它会根据这个点 p r o 的 工程文件自动生成 make feel, 我 们可以看到已经生成了 make feel, 生成 make feel 之后,我们执行 make 来进行翻译, 现在已经开始翻译了,我们等待翻译完成, 现在已经翻译完成了,翻译过程的信息是很多的,如果中间没有出现报错的话,说明就翻译成功了。翻译成功之后,我们 l s 看一下,这个呢就是 q t 的 一个可执行的文件,我们用 flow 命令查看一下, 可以看到它是 em 架构的,是可以在开发板上去运行的。接下来我们 ctrl d 退出这个 chroot 环境,回到我端图的命令行,下面接下来我们把编好的应用程序传输到开发板上面,这里的话我使用 s c p 网络传输 速度, s c p 要传输的文件 传输到开发版的 elf 用户, ip 地址是幺九二点幺六八点零点二三二,传输到开发版的 home elf 目录下面我们回车输入 elf 用户的密码, elf 回车 可以看到已经传输成功了,下面我们退出挂载的目录,然后取消挂载, 这样就已经取消挂载了。我们打开窗口的终端,我们先登录一下系统,以 f 用户来登录,可以看到我们现在就是在 home f 这个目录下面, 在这个目录下面有了我们传输过来的文件,在执行之前呢,我们先给这个应用一个可执行的权限, 输入 f, 下面我们去设置环境变量, 设置完之后我们去执行 qt 的 应用, 可以看到我们的屏幕上已经显示出来了 q t 的 界面。以上呢就是 desktop 系统下编并运行 q t 应用程序的完整的流程。