粉丝350获赞1098

哎,你说一下这个 qt 中的容器类型的空间都有哪些?大概说几个,然后每种空间的特性呢?来讲说一下 啊。首先就是 qvt 的, qvt 的 它是所有窗口类的副类啊,它也是它,它可以作为一个独立的窗口,也可以去包含其他窗口,它里面的一些 api 函数就是 经常用的嘛,呃,什么 show 啊, close 之类的。然后,呃,还有个窗口类是 toolbox, toolbox toolbox 一个工具箱的容器,它,呃,它可以通过还可以做到那些 qq, qq 那 个抽屉这些的效果, 就是你点开那个抽屉可以打开一个紫方格,嗯,可以,还有,呃, table, 还有 type v 机, type v 机呢,它是一个标签,它是一个带标签的,带标签印的创口,它可以也可以存储多个紫方格,通过标签可以 去打开这个窗门。嗯嗯,还有 score area 是 吧? score score, 呃, score area 就是 它可以,呃,它也是一个带边框的, 就是,呃,关于 q o e 的。 带个边框,然后可以设置边框它,呃,可以设置一个边框,那个标题,还有边框的样式大小什么的。 screw a rear。 啊,你说的是这个吗?是 它有个标题,你说反了吧,你说的是 q freedom 吧?啊? q freedom 是 它,它有,它有边框,然后啊 square area, 它也有边框,嗯,好,它,它还它还有自己的那个标题嘛, 可以设置边框的标创口的标题 s k ray, 而瑞尔的最核心的特点是啥?呃,可以添加反光啊, s k ray, s k ray 最大的特点是什么?滚动滚动区域嘛?它是滚动窗口。啊 啊啊,你刚才说那些,我说感觉你像说的像 q frame 呀啊? q frame 是 带边框的 q 微机?对啊,你刚才说的一堆不是色子专框边框的样式啥的。那不是 q frame 这个窗口有吗? 可以,那是 girl boss 吧你说的。哦忘忘了那个。嗯,还有还有最后一个是什么?这个的微机啊,它是占位型的窗口啊,它也可以存储 窗口。呃。多个子窗口,然后但是他呃他可以从中多个子窗口,但是他只能显示其中一个子窗口,呃他没有自己的那个,就是调用其他子窗口的那个按钮或者是标间之类的, 只能通过程序去控制。嗯做到就成功了。按钮按钮什么呀? 就是可以调用子窗口,可以调用子窗口打开。大家明白你说的啥意思,但是不够精准,然后大家感觉一下他说的咋样?整体评价一下感觉咋样。嗯整体 也算还行啊,还是说的时候像这种这种问题啊大家也需要留意一下,就是有的时候他可能说没有去问你这个固定问题,面试的时候他有可能是考验你的这个姿势面,你看我们这个容器类型的空间, 我们不是说让你去讲某一个空间,他是不是考验一下你对呃所有这个容器类型空间的一个了解,所以说这个时候呢,其实说某一个的时候,当然你要是能说的更精准那是更好的, 对吧?但如果说说的不够精准的话那就是把这个大面上的东西都能说出来,那也还行,就是一定要保证整个表达要比较流畅一些啊。这个东西 你像 qbt 的, 刚才他刚才介绍的啥都没问题啊,就说这个 api 的 时候说了个什么豆子是吧?啊?这个是 api, 没毛病。 但是,但是,但是我说你对这个容器类型空间的这个了解,原来它里面能够设置怎么样的属性?就说它是窗口类吗?窗口类的鸡类,所以它可以设置这个窗口的大小啊,尺寸,这些是不是属性啊?你不要光说这个方法啊, 大小尺寸包括一堆这个最最大窗口,最小窗口,包括这个位置,窗口移动字体等等,这些相关的属性它其实都可以设置,那就说明我们所有的这个窗口类基本上都是这个 qv 的 类的这个子类吧。 也就是说呢,你 q v t 类它所具备的一些属性特点,那它这个子类是不是基本上都具备?所以主要的核心点在于啥呢?你把 q v t 的 这个类的一些属性特点说完之后,那后续剩余的你像标题啊,什么什么东西的,你就不用再强调了,因为但凡它的子类,它是不是里边都可以设置标题 啊?他都能设置,但,但就是说因为子类,我们说过子类相当于是不是对父类的功能的一个扩展性。二、对父类功能扩展性。所以说你在说子类的时候,你把刚才我这句话带上之后,后续再说的就是他每一个子窗口他各自 具备什么样的这个特性就行了,相当有意思吧。比如说你像那个 q freedom, 他的特点是不是能色边框?嗯?呃, girlbox, 他 说他的特点是啥?他是一个组合框,他能把一系列的空间相对于是不是组合到一块啊,让你的页面看起来更加的规整。 这个 square array, 它是这个滚动条,也就是当当这个窗口中显示内容过多的时候,它会自动出现 竖向的或者说横向的这个滚动条,不至于说让这个窗口被裁剪,也许内容显示不出来什么样的,他不至于出现这种问题啊。那 two box, 那 就是抽屉,这个抽屉,抽屉类型的一个窗口显示的这个盒子啊, table vita, table vita, 这个是带有选项卡或者说标签页的这个,呃,窗口显示区域啊,每一个标签页里面是可以对应放入一个这个主窗口啊。 bug vita 这个东西简单一提就行了,这个是一个占堆叠窗口 啊,这很多窗口现在是在一块区域显示的。那只不过说像别的窗口一样,就是也是一块区域显示,但你点击的时候呢,它有类似的这种切换动作,那这个 stock 的 微机呢?其实最终展示效果也差不多啊,所以说他们这种就没有什么太没有什么太 容易值得说的这个特点啊。那说明各种窗口类,你像这个,呃, table visit, stack visit, 以及这个 two box, 像这些东西呢,就是你用到哪个,你想要什么样的样式,你在你的这个 q t 界面上搭建成什么样的样式就可以,最 终的这个用哪个,是不还是根据你的需求来用啊?因为它们的核心本质那都是窗口嘛,就用来显示一些内容的这个区域嘛,对不对啊?好, ok。

好,那你你简单说一下,就是 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 用了半年做到这一步只走了三步。第一步,把 c 语言 c 加加基础学扎实,至少能自己写小项目,不要一上来就图形界面,我当时是先把语法、函数、结构体这些啃了一遍。第二步,照一张你喜欢的仪表盘截图, 用 qt 一 笔一划照着画圆弧刻度数字指,真不用一开始就做的很炫,重点是熟悉 kant 怎么画东西。第三步,把动画、键盘控制数值变化这些拼在一起,能跑能演示,这样可以更好的帮你熟悉 qt 的 机制。 如果你也想画一些炫酷的界面的话,我整理的有一条完整的 qd 学习路线。这期视频点赞超过两百的话,会免费分享给大家。

各位同学好,欢迎大家来到用 qt 六创建 jy 程序微课堂,这节课主要介绍液晶显示控件。在 qt 六中,液晶显示控件用来显示数字和一些特殊符号, 经常用来显示数值、日期、时间。我们可以使用 qlcd number 类创建液晶显示控件。 q l, c, d number 类的继承关系如下图所示,大家可以看一下这张图片。从这张图片中我们可以看出, q f 类是 q l c d number 类的负类。 q l c d number 类的构造函数如下所示,其中第一个构造函数只有一个参数, 第二个构造函数有两个参数,其中参数 parent 表示指向负窗口或负容器的对象指数。其中参数 n u m digits 表示能显示的数字个数。 q l c, d number 类中封装的方法是比较多的,这张表格只展示了其中的一部分,大家可以看一下这张表格。比如我们可以使用 display 这个方法显示字符串,并且可以显示浮点数以及整数。 我们可以使用 set dc mode 这个方法转换成实进制显示模式。 q l c, d number 类有一个信号,就是这个 overflow 信号表示当显示的整数部分长度超过了允许的最大数字个数时发送信号。 下面我们做一个例题演示实践一下。冲进一个窗口,该窗口包含一个液晶显示空间,显示当前的时间。我们演示实践一下。 首先我们打开 qt creator, 然后单机创建项目。在弹出的对话框中,我们选择 qt windows application 模板,然后单机 enter 键。在这个对话框中,我们将创建的项目命名为 demo 时期, 并将该项目保存在 d 盘的 chapter 六文件夹下,然后单机下一步按钮,然后单机下一步按钮。 在这个对话框中,我们设置窗口类的基类为 q, 编辑并取消勾选这个复选框。这表明我们创建的项目中没有 ui 文件。然后点击下一步按钮,然后点击下一步按钮,然后点击下一步按钮, 然后单机完成按钮。在这个项目的管理目录中,我们首先展开头文件,然后双击打开这个窗口类的头文件, weid 点 h。 在 这个窗口类的头文件中,我们编辑代码。首先我们要包含 q, l, c, d number 类, 然后我们包含 q h box layout 类, 然后我们包含 q time 类, 然后我们包含 q string 类。 在这个窗口类的定义中,我们使用 q h box 域 out 类创建一个对象指征, 我们创建对象指征的名称为 h box。 然后我们使用 q, l, c, d, number 创建一个对象指向, 我们创建对象指向的名称为 l, c, d。 按 ctrl s 保存。然后我们双击打开这个窗口内的原文件 word 点 c, p, p。 在这个窗口类的原文件中,我们首先更改文本设置,这样显示得更简洁。然后我们在这个窗口类的勾导函数中编写代码。首先我们使用 set geometry 这个方法设置窗口的位置和宽高。 然后我们使用 set window title 这个方法设置窗口的标题, 我们设置窗口的标题为 q, l, c, d number。 然后我们使用 new 计算创建一个水平布局对象,并将该对象的首地址复制给对象,指定 hbox。 然后我们使用 set layout 这个方法设置主窗口的布局方式为水平布局, 然后我们使用 q time 类的 current time 这个方法获取当前时间,并将返回值赋值给我们创建的一个 q time 对 象, 我们创建的这个对象的名称为 time, 它的内容就是当前时间, 然后我们使用 time 对 象的 to string 这个方法,将时间对象转换成函数串,并将该函数串赋值给变量 str 一, 这个 str 一 也是 q string 对 象。 然后我们使用 n 变换符创建一个耶稣显示控件,并将该控件的首地址赋值给对象。指向指令 lcd, 然后我们使用 lcd 的 set style sheet 这个方法设置样式表, 它的参数为四幅串 color, 然后是一个冒号 red, 这表示我们设置液晶显示控件中的文字的颜色为红色。 然后我们使用 l, c, d 的 display 这个方法显示词符串 s, t, r 一, 然后我们使用 hbox 的 a, d, d, w, d 的 这个方法,向水平布局中添加液晶显示空间, 按 ctrl s 保存,然后我们单机运行按钮运行一下这个项目, 大家可以看一下,已经显示了这个窗口,这个窗口是采用了水平布局,在水平布局中有一个液晶显示控件, 然后这个液晶显示控件显示的当前时间。我们设置了液晶显示控件,显示的数字的个数为八个,然后呢它的显示的数字的颜色为红色,这个呢就是液晶显示控件。


哈喽,各位小伙伴大家好,我是冥王,本节课呢,我们接着讲解 qt 中绘图的最后一节。好,这是我们本章的最后一节了,本节课呢,我们主要是给大家引出来一个啊, qt 的开发专题啊,我们就是引出来这么一个 qt 的开发专题,叫自定义空间。好,这个 qt 开发专题呢,我在后面呢会专门出一个专题 给大家讲解制定的空间,把我工作中用到的所有的啊制定空间都拿出来给大家讲解。好,我们可以看到这个界面啊,现在这个, 哎,这就是现在运行的这个截图,对吧?哎,我们完成了一个仪表盘,我们制定空间呢,我们完成了这么一个仪表盘的一个绘制,对吧?我们可以看到呢,这个仪表盘呢可以有多种的样式,对吧? 好,我们可以看到,哎,这个刻度呢,可以在这个圆环的内侧,对吧?啊,当然呢,刻度呢还可以在圆环的外侧,我们可以看到。好,刻度在圆环的外侧,当然呢,这个刻度呢在圆环的外侧还可以呢,哎,这个刻度和圆环之 中间呢?哎,有一个空隙,哎,这有有一个空隙,对吧?但是呢也可以没有空隙,这个刻度呢直接画在这个圆盘上,对吧?包括这个指针,我们看到,哎,这个指针的样式呢?哎,这个是尖的,对吧?哎,这是圆的,对吧?包括圆,这些样式都可以修改,包括什么?圆环的颜色, 对吧?包括什么啊?刻度的颜色,圆环的颜色,刻度的颜色包括这个刻度值的颜色,哎,包括这个啊,指针这中间那个指针的颜色,对吧?好,当然呢, 这些都是可以修改的,当然呢,这个刻度值肯定,对吧?这个范围零到一百,或者说什么,哎,零到五百这些肯定都是可以自定义的,对吧?我们我们写的这个自定义空间已经很完善了,大家拿过去可以直接用了 啊,这么一个程度啊,现在已经达到了啊,好,包括这个指针,哎,我们看这是什么?是一个直角,对吧?但是呢, 我们还可以设置成圆的,对吧?这些呢都可以进行一个自定义。好,我们再看另一个截图啊,哎,这是这是他的第二个截图啊,我们把这个盖上, 我们看到,哎,这个呢在右侧呢,右侧呢,哎,这所有的东西呢,我都可以进行一个修改,对吧?好,待会呢我们再详细的介绍啊,现在呢,我们先我们就先看一下我们的笔记啊,好,我们可以把这个呢,哎,截个图,对吧? 好,截个图呢,我们把它给放在这,对吧?好,然后呢我们看一下我们的笔记啊,好 啊,本节是最后的绘图的完结和后续了,我们主要是引出这个专题,自定义空间,对吧?好,我们首先看一下我们为什么,为什么需要自定义空间,对吧?而我系统不是已经提供了很多空间了吗?为什么我们还需要自定义呢?因为呢, qt 本身提供的一些空间 他是有限的,对吧?并且他提供了一些控件,很可能不满足我们的需要,包括啊,系统提供了一些控件的一些样式,包括他的一些功能,肯定都是有限的,对吧?我而我们的实际的应用呢,是千奇百怪的,对吧?每个人都有可能有他自己非常特殊的啊,非常 那个个需求,对吧?这个时候呢我们就需要自定义空间,好,自定义空间呢会使我们的界面呢美观的多了,多啊。好,你比如下边这两个,哎,这两个自定义空间呢,我们就是在啊百度图库,哎,在百度里面我们直接搜索的两个图片,对吧?好,我们可以看到呢,哎,这两个图片呢 啊,实现的效果呢?反正大差不差,对吧?哎,中间一个圆环,对吧?中间一个圆环,然后加上刻度再加上指针,对吧?当然呢还可以显示一个字,显示那个值,对吧?好啊,其实其实,呃实现的效果呢,基本上都差不多,我们看到我们这个效果呢肯定,呃他这个效果, 我们我们这个肯定都已经实现了啊。好,所以呢我们实现这两个效果,哎,刚才已经这个图已经看到这两个图已经看到了,对吧?待会呢我们再具体再看啊。啊?你比如,哎这个刻度呢?哎,可以在圆环的内侧,对吧?哎,这刻度在圆环的内侧,当然呢刻度呢还可以啊,在圆环的外侧,对吧?当然呢刻度在圆环的外侧, 这呢?哎,中间还可以有缝隙,对吧?哎,这还有缝隙,对吧?好,这样你可以根据你的需要进行一个修改,当然这个指针呢也可以修改的,对吧?好,这个制定空间呢它包括了很多的 啊技术点,对吧?你制定一个空间呢,你绘图里面所有的基础,你像我们之前绘图所有的基础的东西我们都讲完了,对吧?我们这个制定空间呢,只要你把我前面讲的绘图的基础的东西讲完,这个制定空间呢,你也可以完全自己可以做出来,是肯定没有问题的。好,你比如说,哎,首先呢,我们要啊定一个类,对吧? 哎,继承是 qvt 的,并做类的提升,对吧?之前我们讲过了,对吧?包括这个圆环,哎,这个圆环呢?哎,怎么绘制这个圆环呢?哎,这个圆环的宽度怎么进行 设置?还包括圆环的颜色,包括圆环末端的一个样式,当然还有刻度,对吧?哎,怎么绘制这个刻度?哎,刻度的颜色包括刻度的位置,我们刚才看刻度可以在圆环的内侧呀, 还可以在圆环的外侧呀,当然还可以有个空隙,对吧?包括指针,指针呢,可以设置它的颜色,包括指针的样式,对吧?好,样式呢?哎,圆形呢还是尖形呢?我们刚才看到了,对吧?哎,当然指针还可以有个动画,对吧?哎, 待会我们可以看到,但是呢还有一些基础的设置,对吧?哎,你是要显示啊,你什么叫基础的设置呢?我们可以看一下。哎,你是要显示他的电压呢,还是要显示电流呢?还是要显示温度呢?哎,这都可以通过代码进行进一个设置的啊,好,这个是都可以进行一个设置的啊,当然包括颜色, 我们现在的颜色是白色的,对吧?后边肯定都可以修改的。好,包括空间的技能,待会我们就可以看到。好,我们刚才说了,我们后续肯定有一个计划,我们会推出一个专题叫 qt 的开发专题,叫自定义空间。好,这个自定义空间呢,我 大概可能会有几十个制定的空间,我工作中常用的我都会拿出来给大家进行讲解。好,这个仪表盘呢就是我们这个专题的第一个空间,啊啊 啊,大家持续的关注,我们后边会很快就会推出这么一个专题啊,我们可现在呢,刚才这个我们把这个截图呢,我们就关掉了,好,这个实现的效果呢,我们可以看到,哎,我们 我们如果进行一个放大和一个缩小呢?他也是会啊,自适应的进行一个放大和缩小的,对吧?我们可以看到,哎,可以啊,自适应的放大缩小,你如果做不到自适应,那你这个在实际的项目工程中其实是没没什么应用的价值,对吧?所以呢我们这个肯定是可以啊, 自适应的,对吧?好,好,这个是呢,是我们,哎,呃,写死的几个写死的几个样式给大家进行的一个展示,对吧?好,接下来呢我们看一下,哎,我们还会给大家提供一个什么哎,通过我们代码进行一个设置,对吧?通过界面,你比如现在, 你比如现在他下边有个拖动框,我可以拖动,我们可以的看到,哎,这个电压正在变化,对吧?哎,现在呢显示了电压,哎,一百,对吧?当然呢 可以基础的设置,什么叫基础的设置?零到一百,对吧?你比如这呢我设成五百,哎,我们可以看到这个的范围的值呢,就变成了一个五百,对吧?好啊,当然呢,我这是显示的什么 是显示了电压,对吧?但是呢你这是不是还可以显示什么湿度湿度呢?通常我们这直接显示个百分号,对吧?哎,这我们比如我们这就显示个湿度,对吧?啊,但是呢湿度呢?这呢肯定是一百了,对吧?哎,湿度,哎,现在百分之零,对吧?哎, 湿度啊,也可以改改成百分之四十三,对吧?但是都可以进行修改的,但是呢这个颜色也可以修改,我们看到这的颜色现在是什么?是黑色的,对吧?但是呢这个颜色我可以修改,比如改成红色,我点确定,哎,这就变成了红色的,对吧?也就说我们那个制定空间做的很完善了,都可以进行修改,包括背景,我们可以给这个空间呢增加一个背景, 背景呢,我可以选择一个颜色,对吧?你比如背景呢,我可以选择一个蓝色啊,别选蓝色了,因为他这个本身是蓝色,对吧?啊,这个背景呢,我可以选择一个粉色吧,哎,我们可以看到这个空间呢, 当然这个可以拖动啊,我们可以看到这个空间呢,背景呢就设置为了一个粉色,对吧?但是呢通常的这个这个空间的这个背景我们不设置的啊,我们可以,我们可以把这个空间放到一个布局里面,直接设置布局就可以了。好,我把这个我这个背景啊我给它去掉了,当还可以设置一个技能,我们点击一下,哎, 技能的时候呢,我们可以设置一下它的颜色啊,比如设置成灰色的吧, 哎,现在呢,我们可以看到现在这个空间变成灰色的,就是他不可用了,对吧?哎,这个技能什么时候我们会用到这个技能呢?我们可以看到我们的笔记啊,我们这在笔记里面。好,这个笔记里呢,我就讲解这个技能好技能呢可以设置各个部分的颜色,通常我们设置成灰色,对吧?因为我就不可用吗?我们通常设置灰色,为什么会有技能那种状态呢? 啊?通常一个一个仪表盘呢,我们对应一个设备,对吧?你比如这,我这个第一个仪表盘呢?我测温度,对吧?第二表盘呢?我, 我测他的思路。第三个仪表盘呢,我测试他,测试他的电流,对吧?一个仪表盘呢,对应一个设备,如果这个设备不在线的时候呢,我们就可以把这个设件控件呢设置为技能。好,因为设备不在线,是在在我们的工业控制里面挺常用的,对吧?哎,这个设备我断电了, 对吧?好,这个设备不在线呢,我设置为技能,那么我把它设置为灰,设置为灰色,如果这个设备在线的话,哎,我就把它设置回,啊,哎,他一个自定的一个颜色,对吧?啊?表示他在线,对吧?这样就用户一看就很直观了。这个设备在线不在线,对吧?好, 当然呢,我们这个圆环的宽度,哎,我们看到现在的十,对吧?当然呢,这个圆环的宽度也可以进行设置,你比如说,哎,我现在改成十五,我现在改成五,我们可以看到我按鼠标的滚轮的时候,哎,这个圆环的宽度呢,也是可以进行一个变化的,对吧?当然呢,圆环的颜色,现在圆环是什么颜色?是一个蓝色,对吧?哎,我现在可以改一下, 我改,我改成一个,比如我改成一个粉色的吧,哎,我看圆环的颜色也可以进行一个修改,但是呢圆环的这个角度也可以修改,也就这,你看现在是一个,是一个直角九十度,对吧?哎,我可以改成一个圆的,哎,我们看到现在呢他就是一个圆的比较漂亮, 对吧?当然你可以根据你自己的喜好进行一个设置,对吧?好,留这我可以再给他改过来,对吧?当然呢这个刻度的颜色呢也可以进行一个修改,你比如现在刻度是绿色的,对吧?好,我这呢把刻度呢给他改成一个蓝色, 哎,我们可以看到这个刻蓝色也进行了一个变化,对吧?好,当然呢这个刻度的位置呢也可以进行修改,我现在这个刻度呢是在圆环的内侧,对吧?好,我可以改成圆环的外侧,我们可以看到呢, 这个刻度呢是不是就绘制在圆环的外侧了,对吧?啊,这个刻度呢是直接绘制在圆环上的,对吧?当然呢我们还可以让这个刻度线呢和这个圆环呢有一个空隙,可能美观一点,对吧?哎,我们可以选择这个圆环外侧空隙,哎,我们可以看到现在呢他们之间呢就有这么一个空隙了,可能这样呢 就相对比较美观一点啊,当然你可以根据你自己的需要进行一个设置啊。好,我们可以,嗯,我们比如还改成到内 侧里面,对吧?我们改成外侧吧。好,当然还有指针,对吧?我们指针呢现在我们可以看到,哎,指针的颜色现在是一个绿色的,对吧?哎,我可以给他修改,你比如指针的颜色呢?嗯,我改成一个, 我们看改成一个红色的吧,就就红色吧,哎,现在这个指针变成一个红色,对吧?但是呢,哎,我移动的时候,哎,这个指针也可以移动,对吧?我们看到,哎,指针都可以移动的,对吧? 根据你实际测出来的啊,你的设备的那个啊值对进行一个修改,对吧?好,当然呢,这个指针呢,我们看到他现在这是一个尖的,对吧?当然呢,我也可以给他给他改成圆的,哎,圆形,哎,我们看到这个指针呢,这呢就变成了一个圆的,对吧?哎,我可以,当然拖动也是没有问题的,对吧? 那指针我们可以看啊,现在我们拖动他的话,这个指针呢一下子就跳转到他那个目标指针上了,对吧?我点一下一下就跳过来了,就比较突兀,对吧?但是呢,我可以加上动画,我们可以看到这呢,我们可以 给他设置一个动画,设置动画的时候我再点进去看,哎,他就一个慢慢的过度到那个值,对吧?哎,这样呢,有一个过度的效果就显得不那么突兀,这样呢效果呢会比较好看一点,对吧?好, 这我们本节课啊给大家讲解的,给大家引出的这个 qt 开发专题自定义空间,好,我在后面讲解我自定义空间的专题的时候呢,我都怎么样实现这么两个效果? 就是第一个呢,我们看到我会给大家呃弄写两个 demo, 第一个呢,我们看到首先第一个我会像上面像这个一样, 你就说我首先会把样式呢非常直观的给大家展示出来,对吧?哎,我们看到这个样式呢,很直观的,大家一看啊,有这么有这么几种样式,对吧?哎,都可以给大家展示出来,然后接,嗯啊,第二给大家实现了第二个呆萌, 就是每一个空间都会实现两个带帽,第二带帽呢会把它里面所有可设置的项呢都会,哎,用代码给大家进行实现,所有可设置的项呢,哎,我都会哎,这样呢,给大家实现出来,对吧?这样呢,大家一看,哎就知道啊,他有哪些设置的选项,一看就会明白了,对吧?然后呢? 嗯,大家,当然呢,我们给大家实现了自定义空间,最主要的大家是要怎么样应用到项目里面,对吧?怎么应用到项目里面呢?应用到项目里面直接,我每一个自定义空间呢,都是对应一个啊,点 c p p 文件和一个点 h 文件,只要大家呢把这两个文件拷贝到你的项目里面,直接就可以拿来用,就是完全和你的 和你的其他的项目的代码是完全就解五和的,就说我们做的,我们既然要做一个制定空间呢,我们肯定要做出来一个完全独立的,对吧?你不能说我, 我移到你的项目,我还要改你项目本身的代码,这肯定是不合适了,对吧?就说我们这个空间拿过去之后你可以直接用,对吧?你就你参照我们的代码直接就可以用起来,就是拿过来拿过来之后,我三分钟之三分钟之内,哎,我就可以在我的项目里面能用起来,这是我们要啊讲解这个 啊, qt 自定义空间的一个一个最基本的一个需求啊。好,本节课呢,我们主要是给大家引出这个 qt 啊,这个开发的这个专辑,好, 我,我刚才说了我们后续的计划会推出这么一个专题啊,好,本节课呢,就是我们绘图的这个啊,最后一讲啊, 啊,当然呢,可以给大家做一个小小的啊,小小的预告啊,我,我最近呢可能会,嗯给朋友做一个项目,他这个项目呢就是,呃,是工厂里面,监测工厂里面的设备,他这个设备呢非常的多啊,监测工 厂里面的设备啊,可其中呢可能会用到一些啊, modelbox、 tcp 啊,一些相关的啊,一些相关的通信和设备的一些通信可能还会和第三方的一个啊,有和第三方的一些软件的一些通信。好啊,最近呢我可能会给大家呃给 给客户呢做这么一个项目,所以呢我们的课程呢,可能会暂时的呢,可能会,嗯,暂停一下录制,等我把这个项目做完之后呢,我们再进行后面的讲解,包括我做完这个项目呢,我争取把这个项目呢,这个实际的项目呢,也做成一个一个大的项目来 来给大家进行讲解,让大家真正的呃在实际的项目中来提高自己的编程的一些 q t 开发的一些技能啊,就说我们的项目呢,肯定都是真正的,真正的我做的一些项目,真正的工作中用到的一项一些项目并不像一些其他 一些所谓的一些什么啊,网上有些项目啊,比如说什么图书管理系统,什么图书馆管理系统,什么学什么学生管理系统,这都纯粹的就是一些呆某,对吧?就是一些很简单的一些小项目,就说你真正的出去工作,出去工作的话,你肯定都 怎么说白了其实这根本就拿不出手,对吧?你说我做一个图书馆管理项目,图书馆管理系统,别人一看就是一个一个学生级的项目,一个戴帽级的项目,别人 你如果说,哎,我真正的工作中的项目,我拿出来各种各种通信啊,各种第三方的一些交互呀,啊,各种 啊,各种的一些协议啊,对吧,人家面试官一看啊,这肯定是一个实际的项目哎,你别人肯定就是瞬间就觉得,哎,这个这个小伙子肯定有一定的开发的一些技能,对吧,有些实际的经验,对吧?啊,所以呢,后边呢这些东西我啊我争取都会给 大家进行一些讲解啊。好,当然呢,我现在个人呢时间也有限啊大家,嗯,就敬请期待吧,我后我后边我争取,我争取尽快的给大家录制好本节课呢,我们就呃给大家讲解到这。好,如果大家觉得我们的课程对家学习有帮助呀,也希望大家呃 关注加三连支持一下。好,谢谢大家,我们本节课就给大家讲解到这,谢谢大家。

q t 交互,那我们现在有一个窗口可以绘制图形,但是呢,并没有和我们 q t 窗口联动起来,我们以前都预留了两个,这个在 q t 里面叫 action, 我们可以理解就为按钮了。那这两个按钮如何去互动呢?我们首先想,这是我们自定义的一个类,对吧?里面可以绘制 open 主要的一些东西。那它必须要有函数吧,比如说我有这样的一个 function, 而且这个 function 呢,我们最好给它设成 public 的, 有公共的。那这样我就可以通过 man window 里面的 action 的 slot 进行对它进行调用。那比如说我点一下这个的时候,我就来调用你,因为你是 public, 我就可以调用你啊,怎么调用呢?我不是有 u i 吗?可以导到 u i 吗?那我找到 u i 以后,我就可以找到。呃,我们这个对象的名称叫什么来的? open open g l wechat g e t, 对吧?找到你以后,因为你是 public 的,所以我就可以调用你这个函数了。那是不是每一个图形我都需要设置一个函数呢?也没有必要。那比如说我们这个叫 draw shape, 那多 sharp trip 里面呢?我们可以加入媒体量嘛? 通过媒体量去区别,对吧?媒体量,比如说我们叫做 rect, 那这个媒体量就代表画个矩形,如果我下次叫 circle 呢?如果媒体量给的是 circle, 那我画的就是这个圆形,那用这种方式可能是比较好的。 好,大概知道该怎么做了,那就好办了啊。下面呢,这两段话其实是以前 ppt 里面那种,所以直接我就搬过来了啊,发现以前还写错了一个字,现在改回来了,那我们如果要在别的地方去触发,我没有讲绘字,我讲的是触发绘字, 那么应该怎么做啊?那因为我们在 pand gel 里面绘制的时候,一切他都帮你弄好了,那首先他会给你 make a current, 就内置有个这个,就他会调出当前的绘制状态。我们都 open, 就大的绘制大的这个状态机,你必须有个当前的状态,那么我这个 make current, 这个 current 的就当前状态的意思啊,在这之之内进行编, 进行绘制,绘制完了以后呢,其实他还有一个程序叫 downcurrent, 那待会我们自己写程序的时候,如果你并不是在像这些程序里面 去调用的时候,那么我们就要自己加上他,但把代码,把这些 open 区域的这些相关的代码,对吧?都都写在这个中间,然后你在外部的时候要生效你的这些触发你相应 这个状态的改变,那么你还要进行一个 update。 那所以呢,我们一般来说可以写个 make current, 然后呢写个 down current, 中间写相应的 open 句额的代码,那 update 写在哪里呢?你可以写在 down current 下面,也可以写在它上面啊,好像 感觉不到什么差别啊,总之他写在最后都可以啊,无所谓,因为他只是触发嘛。啊,要求我这个状态要更新,也就是说有相当一个 repent 这样的一个一个请求而已。 那还有一点,那我我这里写的叫什么叫做触发重新绘制?我为什么不直接在这里面进行绘制呢?啊?因为按照它的顺序来说,最终它还是会调用 pen geo, 而 pen geo 里面它会通过底色,我们以前 不受受过一个底色吗?他会清空你前面的绘字啊,如果我自己写一个,比如说写一个 joe 这样的函数,呃, joe, 比如 joe rack 啊,画一个这样的矩形,上面这个矩形,那你绘出来了,你有可能会被他给清空掉,对吧?所以我们不这样做。 好,那剩下一部分内容呢?就是我们上节课发现我们并没有做回收,因为上节课呢,我们是用了多个,然后呢?这是一个数组,对吧?我们一下是,那我们就可以通过这个代码 delete 这种代码,我们就可以回收我们的内存,包括我们这个 share 的 program, 也需要进行 这个对象的一个回收。好,知道这些以后,我们就可以开始来写程序了啊,我们看我们基于哪个程序来写 open, 这是我们上一节课写的例子,但我们不管他,那我们还是继续这个 ebo 程序来写。好了,那我们就需要进入下一张 shift up chap 零二,在这里面,那我们就是第二章的第一个例子,那我们这个例子叫什么呢? 嗯,我们的课程看看,看一下。那么叫 u i 好了啊,我们这个就叫 q t u i q t u i。 好,那我们这是第二章的第一个例子,我们叫 q t u i。 好,我们编译一下,先配置他的环境,然后我要给他一个编译 跑起来变异,没有问题啊,那我们跑起来看一下,这是我们以前的效果,做完 e b 呃,一 evo 以后的效果,那我们这两个按键呢?没有任何作用。那首先我们上节课的时候发现好像还有一些问题,我们代码对吧?没有虚构函数,没有虚构函数呢?我们这个问题好解决,我们只需要在这里面 给他做一个就可以了呗。啊? a f b。 好, 那我们这样就有了一个 sql 函数。在 sql 函数里面,那这个代 码是很很容易好理解的啊。就区域啊,迪丽特,你先把它敲出来。 buffer, 什么是 buffer? 我们的 vbo, 我们现在只有一个 buffer, 就是一个 vbo buffer, 对吧?那一个我们相当于是要回收一个,而这里面要的是你看他这要的是一个指针啊,所以我们给个地址, 这样就好了。还有 g l delete, delete airy 啊,怎么没有出来啊? delete, 我们直接在上面找,应该是能找到的。 vertic dairy 啊。啊? v a o 也是一个 v a o。 那还有我们的 program delete, 首先你把 delete 拿出来就好办了。 delete program, 那我们只有一个 shared program, say the program, say the program, say the program。 你看他报错了,但是他没有图,慢点, too many arguments 太多了啊,他不是要地址啊,他就是直接把他数字放过来就可以,只要你用了焗油。一个好的习惯呢,应该是要 make current, 但是我们这个好像我觉得可以不用啊,但是我看大家都用 一个 downcurrent 把它夹在中间啊,因为我们调出当前的状态,然后呢啊,退出当前状态, 因为这里面仅仅是为了回收,而且到了城市的最后有没有必要那我不知道,但是我看大家都加了,应该是有道理的,那么我们也加好了, 好不纠结。这里也没有深入研究,我们抛下看一下,应该是对我们程序没有任何影响, 那后面我们都可以把它封装成对象啊,直接通过对象本身的结构也可以。好, 那现在我们前面也讲了,我们肯定是要有,我们要有一个函数,而且是 public 的,别人才能调用你,那我们就这里就写一个,比如说就叫做 draw ship 啊,那是如果我们每一种 ship 都有一个就很麻烦,所以我们最好有个类型 啊,没要个媒体量就叫 ship。 那我们先是来一个 num, 用个首字母大写,然后呢 rect, 然后呢 c 口啊,写几个意思一下就好了。还有一个 triangle 啊,三角形拼错了也没关系啊,示意一下。好,有了这样的一个类型,我们用这个类型来决定画什么,那我们就叫做 ship。 我们这里面呢,还需要有一个 public 的成员哦, private 的成员,嗯,因为我们需要有一个量来保存,我们刀器要要画什么有一个变量,那这个就是 m ship 啊,为什么需要它?我们可以。呃,在这里面啊,在看我们 ppt 这句话,我们这里面只是只是触发重新绘制,并不是在 我们需要写的函数里绘制啊,我们把单码写出来就知道了,那么我们是在这里面是被触发的啊,我们先把这个,这是因为上节课的一些原因, 我们进行了一个特殊的排版,那现在我们给它排回来就好了。那这里面啊,我们用的是没有用 e b o, 其实啊,没有用 v e o 还是 e b o 啊? e b o, 没有用 e b o, 我们是直接他拿了这个拿了点, 那不管他啊,我们都保留这个,还是用一下好了。那这里面就不要,这个就不要了,对吧?不要清空它,那这里面呢,应该是用个 no 或者用个零,对吧?我们再直接再跑一下看看。 好,那么我们现在就调回了一个普通的状态。好,那么我们现在就要增加添加代码了哦,我们给他加个条件,对吧? switch case, 那绘制我们都放在这里面绘制,别的地方呢?只是进对你进行一个触发 啊,那么如果我们的 m ship, 它是等于我们的 rector 的时候啊,那么我们才进行这个绘制。 嗯,这样看代码好像是没有什么问题,对吧?但是呢,我们的接口呢? dy 的接口呢?没有写啊,那在这里 我们 diy 的接口,哎,写错了,这是生成到哪了?怎么生成到这里了啊?我们重新来把它拷过去应该也可以啊。那在这里 我们只要做一件事情, m ship 等于 ship。 好,那我们再看我们这个 ppt 里面,我们在外面吧,它不在 pad 就有里面,它在外面要触发重新绘制,所以呢,要再加一个 update, 我们这里面并没有调用任何 open 需要的代码,所以 makecurrent 和 downcurrent 呢,我们应该是不需要的啊。 update 或者呢,你也可以试一下 repent, 应该也是可以的。嗯,是不是拼错了? up update 应该没错。好,现在我们接口已经有了,这个接口有了,我们还得调用它。调用?怎么调用呢?那 q t 里面调用特别简单啊,我们 jorac 在这里面 go to slot。 呃,这个, 那我们就是 u i 点 open 这个位置的点 draw shape 啊,然后我们这里面,呃,就需要用到我们的 lay, 然后呢才能找到我们的 这个量,哎, rect 好才能有这个媒体量。嗯,应该可以了,我们试一下。那 现在是没有用,对吧?因为我们刚刚编映好,那我们再试一下。嗯,我们通过我们的 action 调用了它开放出来这个接口,这个接口呢是 public 的,那我们通过这个媒体量决定会什么图案。好,已经有了啊,这个清空呢, 我们用酶取量的方式,并且我们给了个 nun, 就是为了这样会比较方便。那这样呢?点 draw shape, 那我们以 i c by 多分区这个写个 nun 是吧?好,那我们再试一下。 那这里面我们还需要再增加一个新的按钮。好,清空会,清空,清空会。好, 那这两个按钮就已经有了,那我们再增加一个这个按钮呢?我们就可以叫做,呃,线框模式,线框模式,线框渲染吧。渲染这个叫 act a wire frame 啊,你要看一些国外的这种类似的图形的产品呢,它一般都有这个模式,叫 wire frame。 wire frame 就是线框啊,就 wire 嘛,就线啊, frame 框。好, 那我们也把它拖上去,然后这里面呢,我们给它来一个 checkable, 就是它会,它会摁下去,并且你既然能摁下去,我希望你摁下去的时候这个效果会不一样。啊,那我们看啊,现在如果我们什么都不做呢,看到这个效果就不好看, 好看啊,这个看没什么效果,对吧?按下去弹起来,那这里面我准备了一个样式,只是改变一个底色而已啊,这个应该是比较简单的。 那关于样式呢?在 q t u 跟,不是在 open g r。 呃,不是 open g r 啦,在 q t 五点九 c 加加开发指南里面那个视频里面有详细的介绍,或者你看看那本书也是一样的。 好,我们把第小段给他贴过去,就是当他被 check 的时候,对吧?在 check 状态下,这是子状态, check 子状态这种空间,只要被 check 的时候的底色就变成这样,应该写的很清楚了。 那么我们直接在最上层拉下来啊,这里面 style 里面给它加上这样的一个 style 就好了。 ok, 那你这样再跑起来呢,就会效果就会好很多了 啊。那关键的并不是这个,对吧?关键的是还是我们要写代码啊,这个你看这个效果就跟刚才比起来就好看多了,对吧?但是没有效,没有用。现在啊, 就跟上面一样,我们还是需要有一个你开放给我个接口才可以,但我们这个接口还并不存在。那么我们这里也是一样,我们就需要有一个 word, 嗯,这个呢,叫做 set wire frame render 吧,或者或者就这个就看它的 web frame 就好了。那有一个不果词,呃,叫做这个叫什么?叫什么呢?叫 y 吗?叫 mod 吧。 有一个 boss 就可以叫 mode, 好像还不大好,或者就叫 well free, 就这样好,那么我们总之是要开放这个接口, 那我们就根据判断了,如果这个 while freeing 是等于 true 的啊,嗯,那么我们就应该是 g l polygon polygo mode, 那有这样的一个函数,那既然要用这个函数呢,我们上面肯定也要是 make current 啊,那 polygon 这个什么呢?是 g l front front and back g l light。 嗯,好,接下来这个我们前面其实是讲过的, 这样呢,我们就可以绘出我们这种 wireframe 的这个线框的模式 else 呢?我们具有 polygon mode, 具有 front and back, 这个呢?是具有 for 吧,它的 film。 这个啊,就用填充是吧?呃,这个呢? down current 啊,改变了状态, 嗯,应该说我们这个就有了,对吧?然后我们这边在 men window 调用,这边呢,就可以调用你了,也是一样。 g i open witchet 点啊,不做了,这个就是 wire。 why a free? 没有吗? set while free 啊?对, set while free。 那我要给你个不稳值,这个不稳值就看我有没有 check 就好了呗。 the act 点 is check is checked, 对吧?那我们试一下,如果这个反了,我们再加个加个感叹号取个否啊?应该是没有反吧,试一下 好,画个矩形改变。咦,没有效果啊,没有 update 对吧?我们看一下啊。对,我们没有 update 它, 你改变了人家的状态,你没有 update, 它就没有生效啊,它没有重绘。那我们再试一下, 画一个矩形,线框模式取消啊,清空好,直接是线框模式。嗯,这部分呢,我们就相当于是互动就做完了。 那以后呢,有其他类似的互动需求也可以用这样的方法去做。总之我要在窗口里面啊,在我们的这个组件里面开放这个接口, 然后我们通过我们 ui 这种互动去调用你这个接口就好了。

各位同学好,我们这里讲解一下 core time energy 时间空间,然后我们这次也是一样的,然后我先把这个空间给删一下。啊,我们还是一样的先建立这个文件先,我先首先建一个文件, 这可以看我之前视频,然后文件名称就是这个 cotam edit, cotam edit, 下一步 sent 伸缩尾,选择下一步完成。好,然后我们一样的啊,首先肯定是在这个图文键 把要包含的库先填进去,那我们这里就先啊,要包含的库 t cold, cold and。 好,那么包含了,包含了库过后,那我们首先是要进行一个声明, 在这里 correct 声明 co, tim a indent 心,然后这个是 ten indent。 进行声明完过后,我们再来书写 cpb 文件的重元数。好,那么我们进行声明过后,我们是不是要溜一下,嗯,给它分配一个空间,溜 内饰,然后同时是不是要设置他的位置 shake 小米去, 然后是五十,这样设置五十,五十,一百三十, 设置完系统时间,设置完这个位置过后,然后我们再来获取它的一个系统的时间。 k q date time holding, him hold it, him 系统 system ten 等于 code ten, 然后这个是 courage it can。 好,那我们获取到这个,把这个系统的时间转到这个 s y s c, c m team 过后,然后我们是不是要把这个时间过来用来拆分,因为因为我们我们获取到的时间它是不是是时间的,用时间表示的,那我们就 hostage list, 那我们新建一个均匀变量 list, three list 等于 c s y s team 填, 是不是要把图顺大写,同时他是 h, 时间是分钟,注意这事只有一个意思, 然后是不是他们是以什么来分?是 tos 卷 十点十分的,所以这个漫画来分的,对吧? 好,我们大家看一下。 coast g m s, 嗯,把这个时间系统的时间转移到这个 x m h m s 转移到这个 平面 spent, 注意这是单引号,因为它是一个制服,对吧?制服好的,实名制好。 然后我们在是不是有了这个,这个数组相当于有个数组过后,然后我们再把 time edit 刚,是不是要设置他的时间,注意时间 thirty time, 然后是 call ten 是不?前面的 call ten, 然后是 next 零做好,然后是我们要把它转化为硬体,硬体格式 是不就是将这个转换出来的十十分秒,是不是我们把它给转,再转换到这个,这个再设置到这个 timer 按键题里面的绑定这个空键。好,我们看一下。 ctrl time say tap, 如果有过错, too many argument with tap this twins up。 让我们看一下啊,好,运行一下。 好,这里有个错误哈,留 ten v d t 留 ten, 这是不是应该 secure your time ten v d t 这个是和 talking ten v d t 啊? say time 是 n t o k 这个这个括号 好,好,现在看,现在我们把这个窗口捕捉一下。好, 现在是不是七点零三的窗口啊?我们是不是可以调节?是,现在是时间是七点过三分啊,来,七点过三分可以调节啊,啊,本期课程讲解到此。

大家好,这节视频呢,我们来学习一下在 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 应用程序的完整的流程。

大家好,欢迎来到蒙马工作室,我是老马,今天将要和大家一起探讨的内容是表格窗口空间。 在应用程序当中,表格是最常用的空间,通常用于查看多条数据的记录结果,也是 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, 把它设置为水平左对齐和垂直中间对齐。我们再来看一下,我们得到了运行结果,表头所有的文字 全部做对齐,如果我们只希望最后一项是做对齐,前面两项序号和时间他是居中对齐,我们有什么处理办法?相应的表头也有他的一个艾特叫二裂针头艾特,我们取他第零个位置设置他的对齐方式, 他叫晒得太死的二零一九们。同样我们把第一列设置为右对齐,居中对齐,右对齐,左对齐。我们这里有一个已经写好的样式表,我们复制过来。我们首先 取消边框,然后把下面的边框设置为一个像素,把右边的边框设置为一个像素,背景颜色设置为白色,文字的颜色我们也设一下 运行,这就是表托,当然我们可以改一下背景颜色。我们一定会有一个疑问,为什么先把边框取消掉呢?再设下面的边框和右边边框,我们先可以把这两行给取消掉,我们看一下结果,我们设置为 一个像素,我们看一下是怎么结果,我们看到运行的结果,我们可以看到中间的这条线特别粗旷,因为我们每个表头他也是一个单元格,他既然有左边距,相应的也有右边距, 所以我们把编句设为一的时候,表格序号他有一个,右边句是一单元格,时间他的左边的编句也是一,加起来就是二,所以中间的这条线看起来特别的粗,所以我们可以先把它 取消掉。我们设置单元格右边的线条,然后下边的线条,我们左边上边边框都相应的取消掉,左上有我们的外边框,这样我们看起来就很舒服。我们还原一下代码,这就是表头的样式表。 今天的分享就到这里,欢迎大家留言评论,如果喜欢我们的视频,请点赞转发,这里是萌满工作室,我们下期再见!