大家好,我是明王,本节课呢,我们接着给大家讲解 gucci 中的事件啊,上节课呢,我们把那个啊,整体的效果,对吧?整体的效果和技术点给给大家进行了一个讲解,对吧?好,本节课呢,我们是第二讲,我们给大家讲解这个整体的布局,好,我们看一下,我们把这个界面的布局呢,我们给它实现啊,我们就实现一个布局, 你看他有零一一直到零八,对吧?左侧呢,是有有八个按钮,对吧?左侧是有八个按钮放在一个垂直布局里面,右侧呢,他其实是一个什么? 是一个 stack vjt, 我们使用 stack vjt 来实现就可以了,你看我这样点的话,哎,右侧他就切换不同的子窗体,对吧?哎,这个呢,在我们实际的工作中,通常呢也是这种实现的,对吧?我通过点击左侧的按钮哎,来实现不同的窗体,对吧?因为我们所有的空间呢,放在一个窗体里面,对吧?可能 不满足我们的要求,对吧?哎,我们把它分分别类呢,放到哎各个子疮体里面,对吧?好,本节课呢,我们就先来实现这一个 布局啊,功能呢,我们留在下节课再给大家讲解,我们来实现这么一个布局,左侧垂直布局呢,放的是八个按钮,右侧呢,这一个布局里面呢,放的是一个什么?一个一个的子页面是用的一个 steak vgt, 对吧?它整体呢,我们看整体呢,是一个左右,也就是一个水平的一个布局,对吧?好,本节课呢,我们先来实现这么一个。好, 我们就直接新建工程丛林给大家实现啊,我们讲课的风格呢,一直是都是啊,丛林写代码,丛林新建工程,对吧?好,我们直接打开文件,然后我,我们点击 upot, 在这呢,我们直接选择 q t v g 的 application。 好,这呢项目的名称呢?用我们讲解的实践,对吧?我们就直接叫 啊 event x 吧。啊,我们叫 event x。 好,我们路径就保存在这儿,我们直接点击下一步。啊,构建系统呢,我们选择 q mac, 对吧?啊,当然,那个 simic 呢?啊,这个 simic 我们先不用 simic, 我们后边会专门的有课程讲解 simi, 我们直接点击下一步。好,在这呢。啊, class 内幕的名称呢?我们可以叫啊,我们叫,我们不叫 window 了,我们叫 visit, 我们下边呢?继承这 q visit, 我们就叫 你叫 q 啊,继承的 q vita, 对吧?当然呢,这个头文件和和这个,呃,原文件对吧?啊,当然呢,这有一个什么哎。 啊, january 它 form, 对吧?哎, january 的 form, 这 january 的 form 呢,我们就把它去掉,也就说呢,我们不使用啊 q t 的那个,呃,设计师界面来拖放空间了,对吧,因为我们实际工作中啊,往往也是什么哎,纯手纯手工写的码就是 纯手写代码,对吧?所以呢,我们把这个 jane red form 呢,给他这个复选光呢,给他去掉。好,我们我们用纯代码实现一个窗口。好,我们点击下一步。好,点击下一步。好,在这呢?啊,我这安装了一个编辑的套件比较多啊,我们这直接随便选一个吧。啊明,呃,明集 w 三十二位,我们 点击下一步。好,我们点击完成。好,这样呢,我们看他就创建出了一个什么这个工程,这个空白的工程就已经创建出来了,对吧?我们可以看到,看一下,这他就没有了。什么?没有了那个界面文件,那个文件夹,对吧?你就说没有了那个点 ui 文件,对吧?因为呢,我们这是使用哎,存存代码实现这么一个啊界面,对吧?好, 好,现在呢,我们来运行一下,应该可以看到一个空白的窗体,好,我们运行看一下。 好,我们可以看一下。哎,现在是不是运行出现了这么一个空白的一个窗体,对吧?好,接下来是不是我们就可以实现左侧的列表按钮,对吧?左侧垂直不就是按钮和右侧的一个 stack weight 的一个一个的子页面了,对吧?但是它整体是用了一个什么?是用了一个 水平的一个布局,对吧?好,左侧呢,我们叫导航吧,我们叫 navi navigator, 什么 visit, 对吧?右侧呢,我们叫 men visit, 对吧? men visit 里面套的都是 q stack visit, 对, 好,接下来呢,我们就来开始一步一步的来给大家实现啊。好,在这呢,我们,首先,我们想一下,我们,首先我们是不是要我们先来到图文件吗?图文件,我们说了,我们要先定义那个左侧和右侧的那个 v, 对吧?好,在这呢,我们直接叫,哎, private, 好,在这呢,我们首先是什么?定一个 q visit 的一个类型,对吧?好, q visit 的一个类型,然后呢,我们叫一个 nive visit, 这个 nam 为这个呢,就代表了什么?代表了它是一个 左侧的一个导航,对吧?然后呢,还有什么? 还有右侧的一个 men visit, 对吧?当然呢,我们说 men visit 里面它包含了什么? q stack 为这个,对吧?它使用 q stack with, 所以呢,我们这儿给它先添加一个头文件 include q, stack visi 的,对吧?好,添加了这个头文件呢, 好,接下来呢,我们就可以在这声明一个 q, stack visit visit, 对吧? q q, stacked visit, 好,我们也是都声明为指针,对吧?好,我们叫啊, stacked, 立即了,对吧?好,我们声明了,这声明了这几个成员变量之后呢,接下来呢,我们来到他的什么,来到他的构造里面,对吧? 再来到它构造里面,我们就可以进行一个啊,左侧和右侧整体的这个界面给它添加了,对吧?啊,我们说了,我们我们整体是用的水平布局,而左侧的按钮呢,是用的垂直布局,对吧?好,这呢,我们先把图文件先给它添,先给它添加上。啊,图文件呢,有一个 q h box, 雷亚奥特,对吧?还有呢? include 是吗? q, vertical box lab, 对吧?好,接下来呢,我们看一下,好,我们写给大家写一下注释啊,我们说呢,我们整体呢,整体采用什么?哎, 采用水平布局,对吧?然后呢,接下来我们导航,对吧?我,我们叫什么?哎,左侧左侧导航的一个窗体,左侧导航,我们肯定是一个垂直布局,对吧?然后呢,还有什么?哎,右侧对吧?我们右侧的叫什么?哎,我们叫主体 布局,对吧?其实就是一个一个的,什么指尖面,对吧?好,再来我们看,因为它采用水平布局呢,所以呢,我们这先给他定义一个,呃,水平布局的,一个一个类啊,水平布局的,呃,我们首先 q h q h q s box layout, 这呢,我们叫什么?叫 hori horizontal layout, 对吧?等一个一个 new, 对吧? q h box layout? 好,这儿呢,我们直接指定为 this 就可以了,对吧?好,接下来呢,我们 这个 horizontal layout, 我们设置它的一个啊 set specing 好,但是呢,我们直接设置为零就可以了,对吧?然后呢,我们再给它设置它的一个 啊?呃,内部一个 content martins, 我们叫 set content martins。 好,我们都给它设置为零,上下左右都给它设置为零,对吧?这样呢,我们水平布局都给它写好了,对吧?啊?接下来呢,我们看左侧窗,左侧窗体呢,我们叫我们定义的是一个 number visit, 对吧? net, visit 呢?我们又一个 q q visit, 这儿呢,同样我们指定为类似它的一个副窗底,对吧?然后呢,我们还我们说左侧呢,我们整体采用的是一个 q v box lab, 是一个垂直的一个布局,对吧?好,我们叫啊 left layout, 对吧?它是左侧的吗? left layout。 然后同样呢,我们呢有一个 q v box layout, 对吧?啊?这个,当然,这儿我们指定它副创体,我们说这个布局呢,是应用到这个 never visit, 对吧? 所以呢,这儿我们指定。哎 never visit, 对吧?指定 never visit, 然后呢,同样我们设置的这个,呃,这个 spaceship 和 counting the mountains, 对吧?我们把上面的这个给它复制下来。好,当然呢,这个它是一个什么? left left, 对吧? left left。 好,这样呢,我们就把这个左侧的这个啊,这个布局先给它创建好了,对吧?啊?布局创建好之后呢,我们要怎么样在这个布局里面添加添加这个 never visit, 对吧?在布局里面添加这个 never visit, 对吧?我们可以。 好,其实是什么?这个是 horror 粘头里面把这个 never visit 呢添加到这个水平布局里面,对吧?因为这个水平布局呢,先添加一个 never visit, 再添加一个什么 men men visit, 对吧?所以呢,这儿我们要 啊, horizontal layout, 我们叫什么? at visit, 然后我们把这个什么哎 never visit 给大家添加进来就可以了,对吧?哎,这样呢,我 我们就把这个导航窗体给大家啊写好了,对吧?好,接着呢,我们再看这个啊这个主窗体,对吧?啊,这个主窗体呢?啊,我们上面先复制一下,因为 因为跟这个导航窗起基本上一样,对吧?所以呢,我们直接复制一下,当然呢,我们这个不叫 navy vita 了,对吧?我们这个叫 natita, 对吧?啊 natita, 但是呢 natat 我们给他,嗯,我给他设置一个那个什么吧, 设置一个最小的一个宽度,要不然你那个窗口就特别小,对吧?我们可以 set 啊 minimum ys 吧,比如我们啊,宽度呢,最小给他设置为一个四百,对吧?啊,当然呢,也是一个 q 这个右侧的这个它右侧的也是垂直布局,对吧?当然呢,我们这个叫不叫 left 了,我们叫 right out, 对吧? right out, 当然啦,这儿呢,它应该是一个 men with, 对吧?好,这是 men with it, 好,这个 right out。 哎, 同样 set special 和 set 都是一样的,对吧?啊,当然呢,我们说这个呢,嫩 visit 里面它其实签套了什么? q stack visit, 对吧?所以呢我们这儿呢要创建那个啊啊 stack visit, 对吧? stack visit 呢?等于个诶六,然后 q q stacked visit, 对吧? q, stack visit, 当然呢 q stack visit, 它副布局呢肯定是这个 men visit, 对吧?哎,这儿呢,我们指定这个 men visit, 对吧?好,请你们 visit, 然后呢,我们在右侧 write out, 是不是就可以添加它了,对吧?哎?啊, write out, 然后呢,我们就可以 add 啊, at, 什么叫什么? at visit, 对吧? at visit 呢,我们就要把这个啊 stack visit 给它添加进来就可以了,对吧?当然呢,最后呢,我们最后呢我们要把这个 men visit 呢给它 添加到这点,添加到这个整体的这个水平布局这里面来,对吧?啊,这样呢,我们就把这个,哎整体的这个水平布局包括左侧的导航和右侧的啊子页面这个布局,哎,给大家写好了,对吧?我们说呢,左侧导航呢采用啊垂直的一个布局啊,添加了多个,嗯 啊,左侧我们会添加多个 q 十八台啊,添加多个按钮,右侧呢,我们说了右侧呢采用的是 q stack vita, 可以添加多个子页面,对吧?啊,现在呢,我们我们先运行一下,看一下一个效果,对吧?啊,我们运行一下,看一下现在的效果,什么样的 节点运行好,我们看到现在呢出来的这一个界面,对吧?当然我们刚才说了,为什么我们是指定了一个最小的宽度是四百,对吧?哎,现在呢最小的宽度呢,他就是一个四百,对吧?啊,现在的运行的效果是这样的,好,接下来呢,我们是不是要把左侧的这个按钮一个一个的给大家添加进来,对吧? 我们添加左侧的一个按钮,好,也就是说呢,我们实现左侧的一个导航,对吧?好,实现左侧的导航呢?我们输了啊,我们给他,我们来到图文键,我们实现左侧导航呢,我们给他添加一个成员函数吧,我们叫啊 private, 我们叫 innate 导航,我们叫 name, 那么 name be bitter 代表导航的意思,对吧?然后呢?嗯,这儿呢,同样,我们给它添加一个什么呢? 添加一个八腾 group。 为什么要添加一个八腾 group 呢?我们可以看一下那个效果啊,我们看一下,哎,这几个按钮呢,他本身都是忽视的,对吧?也就说我选中了零三之后呢,哎,零四他就取消选中,我现在选选中了零二,哎,零三就取消选中,对吧?哎, 我说我们为了让判断让他们非常方便的进行互试呢,当然我们可以在代码里面进行判断,对吧?如果二选中了,我把一,我把一给取消选中,对吧?当然呢,我们这有一个非常非常更加简便的方法,就是使用巴顿鼓, 对吧?啊?使用巴腾 group, 哎,我们先把这个图文念给它添加起来,叫 q 巴腾 group, 对吧?好,在这呢,我们给大家添加一个 q 八的 group, q 巴腾 group, 我们叫,我们就叫 btn 必听 group 吧,好吧,我们叫必听 group。 好,然后图文件我们添加这两个之后呢,我们来到它的原文件, number 就是点 c p p, 对吧? number 就是点 c p p, 好,在这儿我们是要添加按钮,对吧?好,我们输了,我们要,呃,我们还要实现这个 innate name 这个函数,对吧?我们按 alt 加 inter, 哎,我们就可以直接弹弹出来,对吧?哎,我们来实现这个 innate nf, 对吧?零 nf 的,我们要给他添加啊,添加按钮,对吧?一个按钮,对吧?这应该是要添加图文键吧,我们先给他添加上按钮,对吧? q c 十八的图文键,对吧?好,我们的按钮呢,我们看一下他有哪,他有哪些啊?他有哪些的一个选项呢?我们这可以先截个图啊, 现在截个图放在这方便我们写代码啊,这个是方便我们写代码用的好,在这呢我们看一下他有有八个八个选项,对吧?八个按钮要添加八个按钮,对吧?好,首先呢我们在这我们看一下啊,我们先定一个按钮的一个呃,一个时骏的一个列表吧,我们叫 qs q 是用类似的,我们叫 names, 对吧?然后呢我们说啊 names 呢,我们再给它添加,对吧?首先呢有一个鼠标进入离开,对吧?哎, 鼠标一个是鼠标进入离开,对吧?然后呢还有什么呢? 第二个呢,鼠标按下对吧?啊,当然呢,我这一一个个一个的写呢,比较浪费大家的时间,对吧?呃,我们代码已经写好了,我把我就是我,我仅把这个 names 这一块给大家复制过来啊啊,我看一下我代码 啊,这好,我仅仅复制这一块啊,因为这一块我们写也是浪费大家的时间,对吧?好,虽然我这哎直接给他复制过来,这样呢我们就把这个内幕词给它创建好了,对吧?好,内幕词创建好之后,我们 我们要我们说了我们要创建那八腾 group, 把这个把那些按钮放到八腾 group 里面,对吧?哎,这呢我们先把这个八腾 group 呢先给他创建出来,对吧?哎? new 一个 q 八腾 group 对吧?啊?另一个八腾 group, 接下来呢我们说我们这个按钮呢,我们肯定要我们八个按钮呢,我们肯定,不,我们肯定要使用这个循环比较简单,对吧?循环,哎,一个一个的,对吧?哎,我们这就直接 inti, 我们 i 呢,肯定要等于一开始吗? 从零开始,对吧?然后呢? i 小于,我们,想想这个 i 应该小于什么?我们可以,我们不用写十我们不用,不用写十等于八,对吧?哎,我们有一个 names, 对吧?哎, names 有一个点 com, 对吧?正好就是 这个按钮的一个个数,对吧?然后呢?最后呢?哎,加加,哎,然后呢?我们在这个哎,在这个里面来进行按钮,在这个 phone 循环里面进行按钮添加,对吧?好,添加呢,首先,哎,我们先 qq 十八弹,我们先创建一个按钮,对吧?我们叫一个 啊 b t n 吧,然后我们直接 new 一个 q p 是 barten, 对吧?好,我们创建了,创建了这个按钮之后呢,我们啊,我们给我们给按钮呢设置一个关啊,设置一个,设置一个高度吧,因为那个按钮设置啊,设置一个固定,哎, 设置一个固定高度在这呢,我们直接 b t n, 我们设置啊最小,我们叫最小 set mini more more height, 对吧?啊,我们最小呢,按钮呢?让它是六十,对吧?我们把下边的给它关掉,好,那最小呢? 让他六十,对吧?接下来我们肯定要设置按钮的文字吧,对吧?设置按钮的文字,对吧?好,我们我们直接敲一下这个好,设置按钮的文字呢,首先我们直接可以逼天哎, 直接 set text 就可以,对吧?当然呢,我们主要呢看这个文字,我们给它怎么进行一个设置啊?我们看这个文字呢,哎,前面有序号,然后再加这个文字,对吧?所以呢,我们要把这个序号给它添加起来,对吧?序号呢?肯定就是 i, 对吧?当然是 i, 加一嘛,这个是从零开始呢,对吧?所以呢,在这呢,我们使用一个 q, 使用的一个方法叫点 r, 对吧? 啊?这个其实已经用过很多次了,对吧?哎? q 使用里面我们直接呢,哎,百分之一,对吧?然后百分之二,哎,他有这么一个百分号,百分之一,百分之二呢,哎,代表后面的参数,对吧?什么参数呢?哎,就是我在这个二格里面写的参数,对吧?我们,当然了,第一个呢,肯定是,我们肯定是,哎,加一吧,我们不就不从零开始, 对吧?然后第二个,嗯,是二,二,代表呢是两位,对吧?两位,然后呢时禁制时禁制,同样呢,我们让他怎么样?就是 q 叉呢,我们指定一个 q 叉,指定 q 叉的作用呢?就是,说什么呢?哎,让他就是一呢,不显示一,而显示零一,对吧?好,当然呢,这我们是零,对吧? 好,接下来二个,哎,这儿,这儿应该是,对,这个,对吧? 这应该是还有第二个参数,对吧?好,第二个参数呢,肯定就是 names, 对吧? names 里面呢点直接艾特就可以了,对吧?艾特 app 就可以了,对吧?好,这样呢,我们就可以 设置好他的一个文字了,对吧?啊,这有一个,我们看一下,这有一个报错啊,我看应该是这个按钮 没有匹配对呗?没有匹配对,看这个,这个是 alg, 对吧?好,我们看应该。啊,这我们少写了一个,这个是支付串啊,这个是引号, 好,这样呢,我们就设置了这个按钮的一个文字,对吧?好,设置完按钮的文字啊,嗯,我们说呢这个按钮呢,我们看它是可以选中的,对吧?你看点上之后,哎,这个就一直保持这个颜色,对吧?保持这个,对吧?通常的按钮是没有这个特性的,对吧?所以呢我们要给它设置它可以选中,对吧?好, 就说我们要设置按钮,设置按钮可可选动,对吧?也就是说呢它类似 复选框的那个功能,对吧?好,我们他有一个方法叫什么 set, 哎, set check 宝,对吧? set check 宝呢?哎,我们给它设置为处,哎,然后呢他就这个按钮呢,他就可以被选中了,对吧?好,当然呢,我们这设置设置下 按钮的字体吧,我们看这个按钮的字体,不然太太小也不好看,对吧?所以呢,这我们给他设置一个按钮的字体吧。啊,是的,当然我们说设置字体,这这种呢肯定就是设置样式表吗?对吧?所以呢我们叫我们,我们不这样子,我们直接设置这个 network visit, 对吧? never visit, 我们直接 set 好,我们直接 set style sheet, 对吧?好, set style sheet 呢?这儿呢,我们我们直接给大家写一个。什么写一个 roll 字符串儿, roll 字符串儿呢?诶,就是所见 roll 字符串儿的作用呢?就是所见即所得,对吧?诶,我们直接选一个 roll 字符串儿来给大家 来给大家实现啊,在这里面呢我们是不是就可以写它的一个样式表了,对吧?啊?我们叫 q pose q pose button, 对吧?好哦,好,这个按钮对吧?好,我们首先呢设置出来一个字体的, 哎,字体呢?叫 font 字体呢?我给它设置为,呃一个二十五 p x, 对吧?然后呢?哎,好,字体的对齐呢叫。呃, text, 应该是一个 text lam 级的,是 text lam, 我们直接设置为 left。 字体呢,给它设置一个左对齐,对吧?好,设置一个左对齐, 好,接下来呢?啊,这个给他。好,接下来呢,我们设置了这个啊,这个我们给大家写一下注释啊, 设置样式表,对吧?设置样式表,其实呢主要是我们设置了什么设置样式表在这主要是设置了什么? 按钮的字体大小,对吧?按钮的字体大小。接下来呢,我们是不是就可以把这个按钮呢?我们说这个按钮呢,我们要给它添加到什么? 嗯, button google 吧。首先呢,我们要把这个它给按钮添加到 button google 里面,对吧?哎,写一下注释啊,将按钮添加到 butt 按钮添加到 button google, 对吧?这儿呢,直接是 b t n b t n google, 对吧? b t n google 呢?我们直接 at button, 然后把这个 b t n 添加进去呢,可以了,对吧?然后呢我们把这个 i 给它放这儿,对吧?所以呢,就是说它要指定一个 index, 对吧?好,接下来呢 键呢?我们说,哎,我们还要把还要把什么把按钮呢?给它添加到一个布局里面,对吧? 好,这个按钮呢,我们还要添加到左侧的那个垂直布局里面,对吧?所以呢左侧的垂直布局呢?我们叫 net。 哎,这个我们要获取他的一个布局,对吧?首先要获取那个垂直布局,哎, 我连 out 这个方法就可以获取他的布局,对吧?然后呢就可以啊, at breathe, 然后呢就可以把这个 b t n 给它放进去了,对吧?哎,这样呢,我们就实现了什么?左侧这个,左侧这个添加,对吧?好,左侧把这个按钮也给大家添加了,添加了,对吧?好,接下来呢,我们是不是就可以来,呃,来运行一下,看一下啊,应该就会有按钮了,对吧? 哎,现在没有按钮啊?对,我们这个 ininternet navigator 呢,我们还要在这个,在这个步骤函数里面还要调用一下,对吧?我们没有调用这个,它当然没有了,对吧? innit number, 对吧?这样呢,这样呢,我们调用一下这个 internet, 它就应该左侧应该就有这个按钮了,我们看一下, 哎,我们看一下,哎,现在呢,我这个左侧的这个按钮,哎,他就都有了,对吧?啊,当然呢,呃,我们的功能还没有实现,对吧?包括右侧的这个,右侧的右侧的这个指压 界面,我们也没有给大家添加,对吧?好,这样吧,我们就给大家实现了这个什么,哎,左侧的这个按钮的一个添加,对吧?好,这个在实际工作中这个非常常用啊,就是我们直接点击左侧按钮,然后在右侧呢,哎,他就显示不同的界面,对吧?我们看点击不同的按钮呢,哎,他可以选中,你看,选中零三,我选我点零六呢,哎,选中零六,零三都 自动的取消选中,自动取消选中啊,这个就通过什么哎巴听鼓舞跑来实现的,对吧?巴听鼓舞跑呢,可以保证他们自动的进行一个互斥,对吧?好, 嗯啊,本节课我们先讲到这吧,因为讲的太多了,一节课的时长太长的话,大家听了也会比较累,对吧?好,下节课呢,我们再给大家,哎,实现右侧的这个按右侧的这个子页面的一个添加,对吧?右侧子页面添加,并且呢点击左侧,然后实现左右的一个联动,对吧?哎,左右,哎,点击 左侧的,呃左侧的按钮呢?哎,右侧自动切换,直接面。啊,这个我们放到下节课再给大家讲吧。好,本节课呢?我们就啊讲解到这,我们下节课再见。
粉丝3255获赞5488

大家好,今天我将向大家展示如何使用 qt 创建 android 应用,并使用 c 加加进行开发。在这个视频中,我将通过创建一个简单的和 lost world 应用,向大家展示 qt 的基本操作和开发流程。


好,那么同学们啊,今天的话呢,我们就是给大家呢开个头,呃,我们接下去的课程的话,主要是学这个叫做 qtqt 啊,那么 qt 的话呢,我也给大家简单的介绍一下,有同学可能是没有了解啊,那么,呃,我们要知道 qt 它是一门语言吗? 回答一下算是吗?不是啊,不是不是啊,答案不是啊,为什么呢?因为他只是一个,只是一个酷, 只是一个酷而已啊,那么这个酷是什么呢?这是一个封装的 c 啊,加加的的酷啊,那么实际上也可以说是封装的酷的话,我们一般来说都可以说成好像 一个框架一样的框架,一样的框架啊, qt 框架对吧?啊,那么类似的啊,类似的风装 c 家家的裤还有什么呢?还有啊, mfc, mfc 啊,这也是封装 c 家家的库,那么这个库的话呢,是微软的啊,这个是这个是微软的,微软封装的,微软公司,大家都知道的,对吧?那么这个库呢话呢是呃 q t 的这个库的话呢,他是谁谁呢? 呃,原来是诺基亚的,我记得啊啊,后面是被收购了,我们来看一下啊, qt 原来是谁?什么啊?看到没有,他就是叫做应用程序框架对不对?首先定位就是个框, 讲并不是语言是吧,现在像拍摄的话呢,我们刚刚提到的就是啊,他其实呢,呃,也只是一个脚本解释程序而已 啊,那么我们这个写拍摄的人,因为觉得他好用吗,然后写了很多东西,所以习惯性叫做拍摄语言啊,那本质上也是一个教本解释程序,那么一般来说,我们一些这些语言的话呢,都是具有这种编意性啊,编意编意成什么的,一般来说这个要更加大一点的啊。 嗯,那么现在的话呢,我们其实很多交会程序也是非常强大的定做的,那么这个最早的是哪个公司的?看到 啊,诺基亚吧啊,被诺基亚公司收购的,哈哈。那再早一点是什么?没写啊,已经他的历史 他历史再看一下,看一下他的第一届呢,这是某某,估计是一个组织一样的东西啊,来开发的 qt 有个公司之前成立了,然后呢后面是一个基金会啊,哒哒哒。 一开始的时候估计是是像一个小小小团体啊,对吧,就像你们现在这个小团体啊,以后有可能会发明某一种语言,哈哈哈。啊,那么我们来看到啊, 呃,研发公司是属于 qt company 啊,原来的,那么后面是被诺基亚公司收购的,也就说后面的话呢,我们诺基亚手机我们早期的那块摔不坏的那一款啊,很强的对不对啊,怎么摔也摔不坏的砖头,那么 这样里面就有这个 qt 的这个框架啊,啊,对吧,因为被他收购嘛,那他肯定多多少少是要去使用的对不对?好,那么 呃首先我们定定位啊,这个地方是 q t 公司啊, q t。 康复内对吧?公司康康内啊康复内。那么这个 q t 我们要来有什么用 啊?有什么用?笔记做好自己,就这只大老一样的。这个听着啊,大老爷们的啊,这个有什么用呢?他本身有什么用呢? 他本身的话呢?呃,其实就是因为他是个酷吗?对不对?既然是个酷的话就是封装了好多好多的函数啊,那么就是方便使用而已,对吧?就方便方便使用这个 c 佳佳啊, c 佳佳,那么他更大的 还有提供的一个好处,就是啊,帮助我们干什么呢?进行可视化开发,可视化开发,那什么意思啊?我们可以利用这个工具叫做 q t crate 来进行可视化开发。 q t crate 啊,进行可视化开发, 那么这个叫做 qt 啊, c r e a t o r 啊, 用它来进行可视化开发,我们就相当于就很简单了,感觉好像未必这拖一拖空间就可以了,对吧?啊,那么呃,实际上的话呢, 可视化开发只是一个辅助工具而已啊,这个仅仅只是一个辅助工具,我们要知道的是辅助工具啊,辅助工具,那么我们本质上是什么呢?本 之上啊,还是什么呢?调用这个 qt 的库来生成界面,也就是我们可以完全存代码去写我们的这个,哎,一个写出界面来啊,然后呢就写出一些各种各样的空间,就像我们的 htmp 一样, 对不对? gs 一样,这个就是类似于这样的啊,纯代码界面可以去写啊,那么本质上就是用这个酷控件啊,酷的控件, 那么我们 qt 的话呢,我们首先啊,完成之后,我们先来看一下他到底是怎么样的,我这个地方是安装好了一个 qt, 那么后面的话呢,我要教大家 跟大家讲一下这个地方啊,如何自己要去,回去之后在自己家里的电脑上面安装好啊,那么我们默认打开好啊,安装好之后 的话呢,我们其实是这个地方,他会提供这一个可视化的一个开发工具啊,可视化开发工具,你大的那个包里面是有的, 那么呃,也有一些安装好之后,就是也有些没有包含这个安装工具的一个包,比如说你安装的时候没有包含,对吧?没有包含,那么这个没有包含,就像我们的这个拍损当中,呃,没有这个,没有这个包,没有这个包啊,一开始没有,那么后面的话呢,你要去添加一个叫做 q t d 三个, 那么这个东西就叫做 qt 点赞用,那也就是说我们的拍审这个语言当中,对吧?他有一个叫做呃, py qt 五 啊,这一块的话呢,他其实就调用的是 qt, 第三个就是调用的是这样的一个界面,调用的是这样的一个程序啊,然后我们就可以 相当于直接在这个程序上开发完,开发完成之后呢,我们拍摄有一个转换啊,有一个转换可以把这个 qt 的这个代码转化成拍摄的这个代码好了,那就可以直接 就可以直接用了,拍摄里面就可以直接用了,也就说你这一块是跟拍摄也是通的,哎,也是通的啊,可以直接转换。大家没有看过我的呃 q t 五的一个高级教程,对吧?啊?在我的拍摄高级应用教程当中专门讲到 q t 五的开发啊,其实就是针对这一块 啊,那么呃这个里面的话呢,我们看到是有有工程,对吧?大家可以看简单看一下我这一块之前开发的一个电池电压的一个项目啊,看看这个地方还能链接过去啊,那么这个地方的话呢,打开之后 啊,我们看到的是有分成这几块,那么 c c 语言对吧?或者 c 加加语言,这里面默认。其实我们在我们这个是使用 q t 的这个软件啊,其实还有一款软件叫做,呃, vs 软件, vs 这个地方我没有装好啊,用 vs 啊,我们现在维修斯的六啊,维修斯的六并不是 vvs 扣的。不一样的啊, 维修斯六六这款软件当中我们可以开发 c 家家,对不对啊?是那是微软开发的啊,那这个就是,呃,现在我们可以说是我记得比较牢的就是诺基亚,对吧?哈哈哈,那么我反正现在是属于,那因为被他收购的肯定是属于归他所有, 对吧?那么他这个地方我们每新建一个 c 家家的程序的时候,他就会出现这三块啊,一块叫做 head 头部,头部头文件, 也就是啊,嗯,头文键,这个头文键里面一般包含什么呢?包含很多我们函数的名称,就像声明,也就说我们所有 c 家家语言当中啊,我们,呃,我们或者 c 语言当中我们在使用的时候, 我们需要将我们自己写的一个函数,比如说我们现在 gs 当中,之前还是飞机大战的时候,直接翻过去一个函数的名称,对吧?好了后下面定义好,我们就直接可以调用了,对不对?但是在这个 c 元 c 家教当中,我们就必须还要将我们的这个函数名称 加他的括号这些参数啊,后面最后以分号的形式结尾啊,我们就函数体没有啊,这样的一个整个整个名称在哪个位置声明呢?在最上方啊,在最上方声明,最上方声明文件的 最上方声明,如果说你没有声明的话,就意味着他还是无法去调用啊,因为他是代码从上到下开始读的,除非你把这个函数写到这上最上方定义所有的函数翻过去定义写到最上方,那你就可以去调用 啊,这个就是很大的区别,这个也是由于,呃,很多人就是少少使用这个习家家的语言这种来去,比如说是做某一个应用程序,对吧?就是因为很多东西啊,你会发现他比较麻烦 啊,但是 q t 的话呢,已经减少了很多麻烦了,因为已经封装了很多 c 家家的这些代码,对吧?你如果纯使用这些的话呢?就像我刚刚这种模式,我刚刚跟大家所说的这种模式啊啊就比较麻烦,对吧?那么 q t 的话呢,就可以很大程度上我们解决了这样的一个问题,但是呢还 是要存在文件包含性的一个问题啊,要包含,那么这个呢是所谓的头文件,所有的头文件,所有的头文件记录下来他都是以点 h 作为扩展名 啊, head, 对吧? head。 那么,呃,这个上面有一些很多预定一的这些程序啊,这个 qt 里面已经给你预定一好了。那纯西家家语言你去写的话呢?是没有的, 全部你自己去写啊,当然这些东西都是我后面后面自己补上去的,对吧?很多东西都是自己补上去的,创建完成之后这些东西都要自己补上去。我们看看这个程序长得怎么样啊?呃,我开发的一个一个一个电池电压的一个程序啊, ok, 应该是能够跑起来的。 然后就是这样的一个界面,大家看到我这里其实界面是没有的,我是纯代码开发的啊,没有的,对吧?这里直接是 c 家家 cpp 这个语言,对吧? 没有的啊,就是直接是属于呃纯代码开发的,呃这样的一个程序,对吧?大概大概是也差不太多嘛,下危机什么的,什么个意思啊?也相当于你监听端口,什么个意思呢?我开启一个监听的话呢,我就可以获取远程的这个数据了,比如说我去获取真真家具的这种数据, 对吧?监听端口一打开他所有的数据都就就过来了啊,那我这个地方呢是获取什么呢?获取获取这个呃电池电压的这种数据啊, 等等啊,那么这个地方什么采样器啊什么的,同样的我们可以做一些右键启动啊什么的,对吧?等等的啊,比如说也能够做一些很好的这种数据啊,这种数据的模拟, 对吧?这种数据的模拟,那这些图的话呢,要求同学们都是要自己能够会去写的啊,模拟图,对吧?我们比如说我们 实时的将我们的这个光照,光照这个情况获取过来,这个数据我们要能够给他生成这种图形,包括这种图形的话呢,我们也是能够在我们的网页当中也是能够去做的啊, canvas 啊,我们就可以去做,对吧?画图啊,画图工具, 那么呃我们这这其实就是一种比较简简单的简单的一个啊, q t 的一个程序一个界面,对吧?那么这个我现在装的这个版本呢叫做什么? windows 版本,对吧?因为这个 q t 的话呢,它是有一个特性啊,它这个 好处呢,他这就是跨平台的啊,跨平台的,跨平台的,他是跨平台的,那么就 就意味着我们这有有这个什么温德斯版本,对吧?那也有这个,呃呃,六六个四版本啊,六六个四版本,那么我们到时候呢?在我们的这个开发环境上,环境上面啊,比如说我们要开发这个 相关的下位机,去获取我们的这些智能家居数据的,那么这个时候我们是在 obantu oubantu ubandu 这个 linux 服务器上面啊,我们这个地方,比如说我们举例就是一个乌班图 uberantuuubuntu two 是怎么写的 啊?忘记了,哈哈哈哈,乌斑图写中文吧啊?翻译一下就是乌斑图 乌邦图吗?乌斑图吧,乌邦图啊,那我这样吧,查一下吧,乌邦图 我帮 too 啊 t u 吧,应该就是应该写的是对的啊, 般啊,你看就这个对吧?就这个啊,我记忆还是不错的啊。啊,那么这一款呢,也是属于零六克斯开,就是相当于是一个像一个型号一样的,对吧? 那么我们,我们也就是说我们要学会啊,这个不班图的这个零点服务器的一个基本使用,比如说我们如何去复制文件,如何打开目录,如何在上面去编辑 啊,那么呃,与此同时我们学会在这上面如何呃共享文件对吧?共享服务器怎么去搭建 ftp, 你比如说你,你怎么去给他开启,那这些都是基本操作,所以说我说上次,呃,有有 有其他老师在上课的时候,大家可以旁听一下,大家都会学会了,对吧?下次我就不需要讲啊,其实我也我也当然要给大家去讲这些东西,这些都是基础啊,对于我们这里来说应该是基础的基础啊,我们更重要的是做代码的一个开发,对吧?啊?所以我们这个边,我们这个地方的话难度是比较大的啊,具体的一些东西在做的时候, 大家要要花比别人努力十倍的时间去完成,才能够成长的更快啊。那么 无斑图还是无帮图啊?中文反而到错了,哈哈,不不写了,我们就这样吧,那么也就是说到时候的话呢,是在这个地方地方啊,两个平台我们使用的时候在这个平台 平台上面使用,那么这个平台我们上面使用的时候的话呢,我们把这个平台是装在虚拟机上面啊,装在虚拟机上面直接去使用的,那么我这个地方当然 我们也可以直接装在 windows 上面。呃,如果说我们自己家里面的话呢,我们可以直接装在 windows 上面,当然啊,就是说我们同学们也可以直接拷贝一下我们给出来的这个资源啊,一个叙利级文件,然后呢直接装到叙利级,然后叙利文件宰出来就可以了,就直接装好了,都不需要去装了,一共大概有十来个 g 啊, 十来个 g, 那么这个其实这个也也不小啊,你要单独去装这个装这个东西的话也不小啊。啊,你看到啊,好像也有,也有很多很多个 g 啊, qt, 那个这个 qt 文件夹就是我我我装的,装在这个地方,对吧?你看看有多大,有好大,因为这里面的话,我我这个地方我我宰了好多的,他的一些空间支持库等等,对吧?所以他这个地方其实也很大,估计也有个十来个鸡了,所以还是比较大的,大家要准备 大概可能二十个 g 啊。二十个 g 要有,对吧?就比较大本身其实他就比较大啊。 啊不不宰了啊,反正就一直会加吧,大概大概加到十来个 g 吧,印象当中是这样的。那么呃这个地方下载我们该怎么去下?他是一个开源的,当然是免费的,对不对?我们可以直接去下载啊,我们直接搜索一下就可以了啊。呃这个叫做 呃叫做 q t 呃就直接 q t 就 q t。 好像是有个档文件呃这个这个官网你进去是找不到的。 呃到这里啊这个是一个文档到这个啊这个这个这个看到没有?有个档 点 qt 点 io 这里面去找到相应的这些 qt 的版本,然后呢直接就可以下载啊,他是他是开原的嘛对吧?啊直接可以下载各种版本啊,很多版本那包括跟我们训练机同样的这种版本啊。都有啊,我们就下载最新版本就可以了 啊那这里面呢?这个地方这是 windows 上面的啊那我们这不止 windows 上面啊,这有很多的,你可以点赞点进去啊 啊然后呢我们这个地方有个这个新新新狗叫单独的一个程序,你看这个是那那个是上面的对不对?这个是 l v 啊啊 v 的上面的啊。那么你这个地方感觉好像不大啊,只有一个机左右, 一个级左右吗?啊可能可能还只有四百可能这个文件可能还不一定全啊。我们来看一下我这个地方呃我这插件还脏了很多对吧?这是我这地方是我寻思四点八版本的, 我们欧巴看一下啊,五点一二,对,我这里装的是大概是这个版本五点一二的 q t, 五点一二,四点八,对吧?我们来看一下啊,也就说,呃,在之前的时候我们看看我这个四点八大概是有多大 啊?那么比较慢,大家呢?进去之后我记得,呃,我我们这个地方啊,就是说我我 之前是有个 exe 程序的啊,他现在可能最新的这个版本又更新过了,又不一样了啊,那么基本上我们能装上的话,能直接能用就可以了啊, 那下载的位置就是从这个位置那不同的版本他不一样的,大家可以进去之后呢自己去看一下,那这里面我们具体就不多讲,好吧。啊,不多讲,那么我们下载应该会了,对吧?要找到的是这个记一下啊,档点 qt, 点 io, 直接把这个记下来就可以了,我把它它复制一下, 这个就是下载的一个跟目录下载 下载,呃,可以用最新版啊,也可以就是用我的这个版本,我的这个版本我感觉用的还好啊,有,当然最新版不一定是最好的,对吧? 就不一定是最好的,呃,我们要知道的是啊,温特斯上面我们现在写的这个版本啊,就是说我们,呃是无法移植到我们这个虚拟剂上面的啊,会有各种问题的 啊,会有很多很多的问题的,那么也就是说,呃,我们也可以直接拷贝一下我们学校我们这个地方给大家提供的这个虚拟机里面这个版本啊,那这样的话呢,对大家来说安装上面就没有什么难度 啊,那虚拟机我们这个地方就使用 vmvr 都知道吧? vmv 啊,这个虚拟机下载一下就可以了啊。呃,这这 vmv 公司的虚拟很多的,对吧?那这这这个呢? 对吧?这下载地址都有了,对吧?啊?直接安装就可以了啊?啊?破解版本都是啊,当然如果说同学们以后想要投入生产的话呢,还是要使用正规版, 对吧?啊?那么我们来看到啊,看到这个地方,呃, 现在我们下载完成之后,我们比如说该如何去新建一个项目,对吧?我们来完成第一个项目, ok, 我给大家演示一下啊,打开 好了之后的话,我们就会出现这样装完之后会出现这样的一个 qt 的图标,我们装如果是 windows 版本的话,对吧?当然所有的开发的思维思路是一样的,主要的代码是一样的,当我们进行移植的时候可能会进行小小的更改,有有一些个别的代码要进行更改 啊,但是不能,呃,不能就是说完全不更改的情况下就马上能用,这是没有的啊,而且各个版本啊,他所支持的这些库 一些一些代码会有点不同啊,就像我们现在我这个地方是使用 qt 五,对吧?我们呃另外一个环境使用的是 qt 四啊,这两个代码啊,我们在比如说开启骚 t 的这种用法的时候是完全不同的 啊,是完全不同的,当然你在我们这个位置可以去采用 qt 五,里面他是兼容 qt 四的, 我们可以采用 qt 四的写法去写,但是你我们我们在我们我们这个现在因为是属于 qt 五的,也比较标新了, 我们不是看到五点几这个版本吗?对吧?这就是 q t 五的核心,就是 q t 五的,那么这个 q t 五我们上面的写的这个代码,呃,我们像一些语法逻辑,那移植过去的时候,那就会出现问题,那这些代码我们只有进行修改才可以啊。所以我们一般来说开发之前 这样选择好,到底是选择 qt 五还是选择 qt 四啊?那么,呃,很多比赛的时候的话呢,基本上是用 qt 四比较多啊,那么日常的开发的话呢,用 kt 五比较多啊。 好,我们来看一下新建一个工程啊,新建一个工程,比如说我们新建一个 new project, 对吧? new project 一个工程,那么最简单的话呢,反正就是新建一个 opla k 旬,我们如果说下载这个版本的话, opla k 旬就可以了。创建一个 q t 的一个桌面类型的一个版本,那么这个是属于什么呢?这个是康索 康守,康守的话是像像命令行一样的命令提示服一样的这种,对吧?哎,就你运行出来到底是一个什么样的一个东西嘛?哎,这个这个威胁词的话,就是实际上就是各种各样的桌面端的一个主见啊。我们也同样可以用 q 来,比如说写很多的什么类,类似于贪吃蛇啊,游戏也可以能够写啊,那无非就是组建的一个组建怎么去使用嘛?空间怎么去使用嘛?就像下一次我,我跟你说,你能不能用这个网页,用 js 去开发一个贪吃蛇, 那是不是也是控制这个 div 而已啊? div 是不是空间这个地方,我们 kt 是不是也是空间控制其中的?比如说一个 labo 空间, 对不对?雷宝空间就像我们威逼一样去控制一个雷宝空间,同样的道理啊,同样的道理啊,那么这个地方我们新建的时候呢?微句词我们这个地方一个理解啊,微句词其实就是窗体, 其实就是一个窗体啊,我们理解就是理解成一个窗体啊,那么这个地方我们 oplacation 的话呢,就是新建的,是那么多,对吧?呃,然后这个地方利用他的这个 工具的话,其实我们还可以,好像可以用拍摄,也可以变形,那这个地方的话我使用的是 c, 我们这里面好像只有是 c 加加啊,但是我们这款工具的话,好像使用的是好像直接可以使用拍摄变形啊,对,他也支持的啊,也支持的 哦,我们那么这个地方下面有很多,这些地方基本上是没有用的到啊,这个地方有个 get, 大家可以呃呃,客户去了解一下啊,我们可以把我们自己的一些项目开源到网上的这个 get 平台上面,对吧?那这种 大家可以自己私下里去学一下。那如果有必要的话呢,以以后我也给大家去讲啊。那么像这些东西啊, no project 跟这些啊,这些这像,这个主要是属于团队化开发啊, suvs 啊,团队化开发或者版本控制这些东西,对吧?你也基本上不用看啊, 这个呢, nonqt project 这个地方是什么呢?就是建立单个文件的时候,对吧?建立单个文件的时候使用,那一般来说我们也不会在这里使用啊,很少使用在这个地方,当然也会后面有可能。那我们后面绝大多数在使用的时候会使用什么呢?会使用 一键一次,一次新建的时候他同时会新建三个文件,一个文件是属于 qt 界面文件,第二个文文件是属于 c 加加文件, cpp 的第三个文件是属于头文件 啊。一般来说我们在这个地方界面上开发的时候,我们就同时会新建三个文件,待会我会给大家马上演示出来啊。那么 大家看到我的这个项目,我的这个项目有几个文件?拜托人刚看到的时候看到一个 h 文件,还有看到一个 cpp 文件,最后一个是一个最 资源库啊,资源库就是我要调取的图片啊什么的啊,这个资源库是我们另外增加的,这个不算文件啊,所以就相当于是一个资源啊,资源库 资源的一个集合,那么我们在这里面的话,我们直接点击 nupro 加就可以了,对吧?打开新建,新建的话这些是属于设计的,对啊,设计的都都是属于单个的啊,那么我们想要集合的 全一点的,那么这个地方是属于开发一个酷的,对吧?这些一般来说我们在这个位置现在也不需要啊,我们只需要的是第一个 plak 群啊,当然我们 q t 四里面会有点不一样,大家新建的时候会有点不一样,但是大同小异啊,大同小异,我们这个地方讲的时候,以这个 q t 五的这个地方来讲啊。 呃,我们接下去的话呢,是打开这个窗口嘛,就相当于是我们创建一个项目应用程序, 这个应用程序是一个窗窗口的一个应用程序,对吧?我们不是在我们的这个嵌入式开发的那个有个 a 八那个像像手机一样,手机平板一样的那个东西吗?这上面是不是我们其实如果是创建的是这个应用程序类型的话呢?就意味着我们这上面可以看到我们的界面, 就像我刚刚的这个界面,我把它要是稍写到那个东西里面就看到的像刚刚我给他展示出来的这个界面一样的啊,展示出来的界面是一样的,那么,呃,如果说是这种康守的话,那就是一个黑屏了, 对不对?输出的一些日制黑屏的这种,这种吧,那一般来说我们可能输出这种展示型的这种界面会比较的多啊,就像我们把我们的 qq 刷写到这个平板里面去也是一样的,对吧?只不过这是相当于好像一个系统一样,刷进去之后我们打开之后就是他,那就就是个系统,对不对啊?就是个系统, 就是说就像我们不是那个平板,我们不是说过吗?我们把安卓的那个安装程序刷写进去,那他打开的就是一个安卓系统啊, 对不对?我们把我们的程序写完之后稍写进去,那打开的就是我们自己写的这个程序啊,这就是嵌入式的一个开放。好,接下去我们来,哎,下一步 啊,就就直接直接选择他去死,对吧?点击选择他,选择他之后我们接下去要创建一个什么呢?叫做项目文件啊,我们要选择创建好这个路径,这个地方还有个勾,有个勾,这个勾是什么?一个意思啊?就是说这个勾如果勾上,那么你下一次再创建 新的项目的时候,他就会默认显示你上一次创建的这个项目的路径啊,如果没勾上,那就反正就就不显示了,就是会显示成这种东西吧,对吧?那么我们这个勾起 其实这个地方也不用管他啊,不用,不用管,那么我们比如说 test 啊,就测试啊,我们的这样的一个程序啊, 好,接下去我们这个这个程序的路径,比如说我们把它创建到我们的桌面上啊,桌面上我们创建一个,桌面上我们新建一个啊,这个 ljy 吧啊, ljy 里面这个文件夹里面,我们待会会有一个 test 的这样的一个程序,对吧?项目文件啊,我们现在点击下一步, 那下一步的时候我们就这个地方,因为,呃,我们 q t 在安装的时候是这样的,我们这里面其实就像有一个呃,就像拍摄一样要安装它的解释器,对不对?那么 q t 的话呢,这个地方其实安装的是 q t 的,叫叫做变异器 啊,变异器,那么这个,嗯,变异器是什么呢?就叫做这个啊, mgy, 我们安装的是这个,当然变异器还有其 其他的啊,还有还有其他的,那么这个编辑器的话呢,其实就是 c 家家的编辑器一样的啊,其实就是把我们的 cpp 文件头文件这些东西组织起来,把它编辑成 什么点欧文件啊,等等啊,点欧或者这种啊,像这种这种编意过去的啊,是比较底层的 点或者点 so 或者这这种类似于这种文件啊,那么我们可以看一下啊,变异过去的这个其中的一个,比如说我这个地方,我这个项目不是已经变异过了吗?我这个项目现在是在呃,我们现在直接给他打开啊,打开一个给大家看一下,打开一个看一下,我变异过去的, 让他讲到了这个变异啊,那么变异的路径的话,我们要自己要指定,那比如说我们我这个地方默认会指定 一个路径啊,变异在这里啊,那么这个地方是一个第八个,第八个里面就是我们变异的这个程序,你看这些都是都是点 o 文件,对不对?点 o 的点 o 的啊,那这个点 cpp 里面是你看不到我们的原代码的,都是一些呃,无用的代码 啊,看到的,那么我们就是点欧的这个文件啊,基本上都是点欧的,像这种文件有什么好处啊? 我们知道我们现在很多的拍摄语言开发完成啊, c 语言开啊,是就是什么 c 下载语言加委员,这些开发完成的时候都会有对应的一个编意完成的一个文件,对不对?那些文件很多文件都是可以被反编译的,而且你就, 哎,如果说你没有做好正确的压加壳的话呢?你的原代码程序是很容易被别人通过逆向程序来盗取的啊,那么而我们的这个地方 用 c 语言啊,或者 c 家家语言开发出来的编意完成之后的这些程序是很难背 反反反向工程的,逆向工程的,而且逆向工程出来的这些代码基本上是属于乱码啊,基本上看不到的啊,基本上看不到的,而且因为他这个地方编一下去就比较底层了, 就比较底层了,很底层了啊,所以说,呃,这个,这个是一个好处,另外一个呢,就是我们使用这个 qt 来开发的,也就是他其实是一个 c 加加与对不对 c 加加的一个基础,所以说他的这个程序运行的效率应该来说是 目前我们可以说是最高的啊,非常非常高啊,非常非常高,那再运行再高一点,就是我们用汇编开发出来的,但一般来说不会有人用汇编去做一个这种程序的 啊,你这工作量实在实在太大了,实在是太大了啊,所以大到你无法想象,对吧?更加不会有人用意令去写这种程序,是不是啊?所以那么 基本上我们这种程序最为底层的就直接就是 c 原 c 家家来开发他,他的这个速度是非常非常快,包括我们各种服务器 啊,各种服务器开发的啊,都都是使用这个。那么我们现在,呃,即使这个 qq 啊, qq 的话呢,他绝大多数一开始的时候当然是使用 c 语言,对吧?后面的话呢,也融入了一些什么? c 下巴, c 加,呃,包括一些其他的 一些东西啊,都会融入起来,也也有融入进来,但是他还是绝大多数还是使用这个新家家园啊这种在开发,那么这样的话呢,他的运行成效率是非常相当的高啊, 是相当的高啊,那么我们现在的话呢,直接新建吧, 到这里新建啊,重新新建点一下,嗯,快的,那这里面我已经解释过了,对吧?创建工程啊, s test。 好,我们选择一下桌面上的这个 lgy 有这一块啊,那么这里面的话呢?好,这个地方这样就好了,选择好了这个文件夹,那么这个地方我们默认是勾选的,那么这这其实就是个编辑器啊,大家了解到一个就是一个编辑器啊, 默认就勾选了一个变异器。好,那么我们接下去进行下一步。那这个变异器的变异器完了之后呢,他有个变异的路径啊,比如说他这个地方有三个,三种模式,我们任何的一个,比如说我们的程序,一般来说呢,就是在开发的, 我们一般都会使用就是第八个模式啊,就相当于是他的那第八个模式的话呢,我们就是程序运行的效率相对来说要低一点啊,那么雷厉斯模式的话呢,要更高 啊,愿意投入生产的时候,我们一般来说是雷利斯模式啊,啊,那么这个就是像 pro profile, 就是项目一些文件,对吧?其他的一些文件,那么相当于是工程文件一样的,对不对 啊?那么这个地方的话呢,呃,我们就让他这两个都一起变异。好啊,反正都让他一起变异,都可以变异,那么这个路径变异的路径也可以去选 啊,路径也可以去选。那么这个边一的路径的话呢,我们这在 qt 五当中啊,跟 qt 四当中还是有一点不同啊,不同在哪里呢?不同在于,呃,他的这一个程序啊,不能放在呃,跟我们的原程序不能放在同一个目录下 啊,啊,不然的话他变异的时候会爆错啊。这个地方给大家要注意一下啊,不要放在圆程序的目录下啊,就可以可以放在跟圆程序的同级, 比如说我们待会这里有个 test, 就放到他的同级啊,当然他自动会生成一个同级的,只不过他的名称会比较长,比如的被被被被那个变异过的一个桌面应用程序,对吧?好,那么我们点击下一步,下一步之后我们这里面有三个选项,非常非常的重要,你要注意啊, 看到三个想象吗?看到了吧?那么这里面最底层的是哪一个窗口?就这个 q v, 这个是最为底层,就是一个窗口用程序,那么他是 最里最最底层的啊,最最底层的,那么他的上一层,他的在在后面几层,比如说这是一个呆了的,对不对?呆了的其实也是他的, 他要形成一个 dialog 之前,他首先必须是一个 wedges 啊, wedges, 那么同样的 q men window 也是一样的,想要有个 qmen window 之前还是要必须要有个 q vjx。 那么这两个的一个好处是什么呢?如果说我们 如果这三这三个是有区别的,你再记下来啊。如果说我们想要开发这个像我刚刚的这个地方,刚刚的这个东西一既要有上面的一个菜单导航条, 对吧?菜单栏又要有旁边的,比如说像一些浮动栏,浮动栏就像我们的一些开发工具旁边不是有一个刀刀, 这个叫做道口,道口就像一个浮动窗口一样,浮动窗口一样啊,我们开发工具上面一个是浮动窗口啊,那么,呃, 右岸有我们的这个窗体中心位置主窗体,就像我刚刚展示的不是有左侧的一个菜单,上侧的一个,左侧一个动卡,其实是一个动卡 列出来的浮动窗体,然后上面的话呢是一个菜单栏,对不对?然后呢?中间中间还不是有个位置吗?采集数据什么的,对不对啊?这样如果是这样的一个东西,那么我们开发的时候就使用 qq 门 window 啊,那么接下去的话呢,我们呃如果说是采用的是这个 q 带了的话呢,我们使用的是什么呢?他就是就像我们那个那个那个 a 八那个东西,那个上面我们在展示的时候其实是默认是没有这个叫做什么? 没有菜单上面的一体一个一个菜单选项的,是没有菜单选项的,那么也是呃,我们到时候的话呢,也是需要把界面给隐藏起来的,也就是这个带了个的话,我们其实没有放大缩小啊,他只有一个叉叉, 而我们这个坤妹妹的话呢,我们就像这种程序一样,可以有这个最大窗口,小窗口,对吧?像这种还有个叉叉,对吧?带了个我们就直接是一个叉叉 这个厂家啊,所以我们很多的在我们的这个我们大家注意啊,我们在开发那个天路市程序的时候呢,我们其实是一个个窗梯,然后呢我们其实只需要用一个带就可以了 啊,只需要一个这个这个叉叉就可以了,而且我们要把这个最外层的这个东西要给他隐藏起来,隐藏起来,因为我们稍写进去的时候不允许让他显示是显示叉叉什么的,对吧? 上线进去的时候还像一个窗体一样弹的内两,肯定是呈现内部的内容,对不对?呈现内部我们制作的内容啊,那么我们这个地方我们就使用这个最为基础的 q v 好,那么新建完成的时候我们会发现在这个新建窗体上面同时生成我刚刚所说的三个文件,第一个文件是点 h 是什么文件?哎?读出来头文件,第二个是什么? cpb 文件是叫做什么文件? 原文件 cpb 其实就是 c plus plus, c 加加,对吧?啊?那么 这个名称我们也可以自己来换过来,比如说我们,比如说第一个名称,我们假设第一个名称叫做后后母也可以,对吧?或者捞军登录 是不是也可以啊?啊?那么我们假设是登录啊?啊,那么这个地方勾选创建界面有什么不同呢?这个我们发现如果勾选的话,下面是不是给他按亮了?一勾选是不是就亮了?没有勾选的情况下,就像 只有原文件头和原文件这种形式界面,需要我们自己在我们的这个 cpb 里面去进行创建, 明白了吗?如果你勾选了,那么就意味着你这界面可以进行可视化开发,因为他这个地方你看到这个文件后面有个点 ui, 对吧?可以进行可视化开发啊,那么我们就可以拖空间,拖空间拖到哪里呢?就拖到这里, 就拖到了这里,明白了吧?就是这样拖到了这个界面上。好,那么我们接下去来看到下一步,下一步啊,下一步之后这个地方版本控 我们是没有用到,版本控制系统没有用到,所以默认就是 no, 如果用到的话就是创建一个,那么所谓的版本控制系统的话,就是相当于我们,呃,我们团队协作开发的时候使用啊。呃,比如说我,我今天我开发了一点零版本,对不对?下一个人我开发了一点一版本, 对吧?那么我下一次再开发的时候,是不是要从版本控制器上面把一点一版本下载下来,我在这最新的技术上面再去进行开发, 对吧?这就是所谓的版本控制啊。那么最后的话呢,他会生成这样的一个目录,下面会生成这些文件, cpp、 点 h、 点 ui, 比我刚刚要多了一个 点余爱,对不对?我刚刚是没有点余爱的啊,那么我们还有就是一个 pipro 啊,这个是个工程文件,就相当于我们未必 一样的啊,工程管理文件啊,那么同样的这个地方还有个 cpp 文件,就是一个原文件,对吧? fm 文件,对不对?只不过我们 vb 当中把那个 fm 跟那个 h 和这个这三个文件都集合在一起了, 这里面是分开的啊,在 c 家, c 家家里面我们开发是属于分开的啊。好,我们点击确定完成,完成之后他就会创建了这样的一个界面,对吧?啊?左侧就会开始创建,而且我们所有的 编码编完了,编完成之后,我们只有经过编意之后,他才能够呈现出新的程序来,如果不编意,他还是老的, 不变异,他还是老的,也就是我们 c 家呀。这种程序的话,开发完成之后,你想要让我们的应用程序更新到最新状态,就必须要将我们的元代码统统的给编一遍,编一遍,然后 就会新生成一个新的应用程序啊。那么我们来看一下这里面,接下去我们创建完成之后,界面上是那样的,在我们看一下文件夹里面,文件夹里面首先是一个项目文件夹,接着是接,接着就是项目文件夹里面的这些文件, 对吧?啊?这些文件那么同时会生成一个点 u 的文件啊,就当前的这个用户,那么这个点 u 的文件的话,往往就是在我们跨平台遗址的时候,我们把这个文件给他删掉啊,然后呢 在相同版本下面,我们跨平台移植的时候,他会自动生成一个新的这个文件啊,这个时候呢他就自动兼容了。所以很多很多相同版本的时候,跨平台移植的时候,我们就会采用这种形式啊,采用这种形式这个文件我们是可以删除的, 没有关系是可以删除的啊,那么我们接下去应该知道这几个文件都是用来干什么的了吧?笔记记好没有 啊?好,那么接下去我们来看一下啊,我们生成之后,这个地方他会默认给我们打开了这个 cpp 的文件,对不对?其实上面还有一个什么点啊?头文件,这个是一个工程文件,对吧?然后这个地方是一个 界面文件,这是一个界面文件,我们双击这个界面文件看一下,你看就是一个床体,对吧?我们可以比如说随便拖一个按钮上面啊,这个就是我的按钮双击进去,比如说是刘啊,刘金玉编程啊,很简单,对吧?啊?我们来看一下啊,那怎么样来浏览呢? 怎么样来浏览呢?直接点击这个就可以了,那么点击这个的时候呢,他同时会给你变异的,如果你单独点击这个程这个构建项目,那么就意味着他就是只是变异,并不运行。这个是一个调试嘛?大的嘛?有个 有个虫子吗?对不对?调试运行啊,那这个地方我们就是一个既编意用运行啊,我们现在编意将运行啊,点击他啊,那么这个是自动要教你保存一下啊,保存 co 啊,保存,那么这个时候呢,他就会看到你,会看到你这里面, 呃,那这个有个构建的一个进入条,对吧?进入条,那么这个时候边边一边输出,我们马上就输出了,你看这个程序就出来了, 你看是不是很简单,很简单啊,那么开发的时候稍微复杂了啊,第一个程序是很简单的啊,第一个程序是很简单的,当我们如果想要设计这个界面的话呢,我们这个地方,比如说想要更改一下他的这个,呃, 一些相关的,那这个这个是属于他的一个这个对象的名称啊。啊?对象的名称,比如说是不能改,比如说想要改他的一个,呃,抬头啊,比如说抬头,抬头就是 啊,假,比如说我们把它改成 q 啊, qq, 假设给他改成 qq 啊,那我们继续运行,他又要重新变异了啊?每次都要会重新变异的 啊,从一变异之后,第二次变异稍微快一点啊,第一次变异比较慢啊,然后这个地方是不是又改成 qq 啦?同样的,我们要知道啊,我们这个 q t 里面在使用的时候啊,所有的这些属性 能够修改的地方,我们都能够通过代码修改,这是不是跟未必是同样一个原理啊?哈,所以你只要有这个编程的思想,很多后面用的时候会发现有点类似,对不对 啊?会有点类似,只不过语言不同啊,那么我们来看一下啊,这个地方他有几种模式。 qq 的这个界面,首先是一个欢迎界面,我们就是新创建项目,对吧?然后这个地方编辑,编辑就是呈现项目 那些项目以及代码,项目以及代码,那这个这个 ui 文件其实是一个什么呢?就是一个参谋文件, 看到了吧?设置定义他的一些,呃,什么宽高啊什么的,对吧?那么设计界面呢?就是我们可视化开发啊,左侧就是一些空间, 对吧?那么这个第八个界面的话呢,就是我们在调试的时候,他会调到这里来啊,会调到这里来,那这个地方还有个叫做项目文件啊,项目文件的话,我们就是这个地方有管理,管理我们的一些很多的一些项目的一些环境啊 等等,这个地方有很多代码控制啊等等啊,呃,项目变异器啊,对吧?有很多啊,或者是你看这个地方,比如说让你是采用什么模式啊?变异出来到底是怎么样子的啊?这个地方默认我们这里是一个第八个,对吧?第八个这个模式啊,然后这个地方还有一些 q make, q make 一般来说就是,呃,让他让让我们这个地方去生成一个啊,你看 q make 什么呢? q make 的是这个东西啊, project, 对吧?这里面有一些相关的配置,像项目相关的配置,把它生成适合于我们当前系统环境的一些文件啊,一些文件,那这个魅可的话就是 真正的变异程序了,对吧?变异程序了啊,那么其他的也不需要管了,我们这边只要明白这些就行了,这个很重要啊,这个这个配置文件很重要啊, 这个项目配置完全很重要。这个地方我们往往采用,比如说我们想要呃类写一个类似于 qq 消息的,对吧?啊,那么我们这个地方就要加入相关于 qq 消息的这个 soke 的的这个库。内裤, 这个内裤,这个内裤就是 c 家家语言里面的这种内裤啊啊,他就给你编一好了,这里面已经有了,你只要把这个内裤给你录进来就可以了,就像拍摄 里面我们就用 pot 抹布库啊。呃, gs 里面的话,就像我们这个 htm 页面上面有个 link 过来,对吧?类似于这种东西啊,类似于这种东西,对吧?那么呃下面的话呢?一些呃配置文件,比如说这个地方,我给大家简简单介绍一个比较常用的啊, 什么什么配置的模板?配置的目标,这个目标的话呢,基本上是属于深层的一些文件啊,深就深层的,你的项目,呃叫什么名字? app 叫什么名字,对吧?我们这里面是 test, 那么我们这个默认编意完成之后是怎么样的呢?大家可以看一下,默认编意完成之后就是在我们同级目录下面, 同级陌路下面啊啊,这就是这个嘛,对吧?刚刚很长的这个名字啊。第八个,这里面点进去看到 txt, 对不对? tst, 那么我们直接可以打开这个 tst 的啊,这里打不了,打开不了,为什么?打开?不 是因为他的环境还不够,我们需要把 qt 基础的这个环境给考进去才能打开,也就说默认情况下我们需要考很多,比如说我这里我给大家写过一个叫做一个一个 tcp 的啊 啊? tcp 的一个程序,用 qt 来写的,有个可爱的,有个骚啊,对吧?啊?我之前之前那个写的时候写的,那么写完之后呢?默认是打不开的,你要把 qt 的那个库下面考考很多这个 dl 这种这种程序,对吧?你所有引用到的东西全部要给他考过来,包括他的基础环境。普兰特啊,这个叫做普兰普兰的风, 把烤过来,烤过来之后你就可以用了啊,就可以单独的去打开了。默认情况下是不能单独打开的啊,不能单独打开的,要,要把这些东西都给烤过来,这这些东西在哪里呢?就是在你的 qt 安装路径下面是有的啊, qt 的安装路径下你要去找啊,那么这个地方我们大家需要的时候,到时候自己到路径下面去找。 好,那么我们再来看到这个地方有一个地方,我刚刚要提一笔啊,看到这里面这个地方有什么不同呢?这个地方 这个是 cpp 文件,是一个原代码文件,对不对啊?我们看到这里面要注意啊,上面是一些包含文件包含,比如说包含了一个头,包含了我们的界面的一些文件操作,对吧?那么我这里要提的是什么呢?这个是一个类名 这个是一个类名,那么呃,这里面的话呢?呃,他是记,他是要继承了一个什么呢?继承了一个 q, 你看这个,这个,这个是冒号,是代表他继承,也就说他基础要拥有的是一个 qv 的人士,他是一个窗体,他只有继承了这个 qvid, 那他才能够被渲染成 这个窗体,他才拥有这个窗体的一些功能啊,要不然是没有的,那么不管这些啊,我们单独的看这一款这个括号,反正我们这个地方我们新建完成一个一个界面的时候,他会自动生成,这不是都是会自动生成的吗?啊?你想要快速入门的话呢,首先要记住的是这一块东西是什么? 这啊,你先不管啊,比如说这个地方是载入你的这上面这个界面吗?对吧?载入这个界面吗?我想告诉你的是,这个地方就是我们之前所讲过的构造函数, 看需要个球构造函数的地方,哎,此处为构造函数的地方,只要我们下一次扭一下这个窗体,这个窗体,我比如说我们要打开多个窗体的,我们只要扭一下一个新的泪,我们新的窗体不就出来了啊,同时第一时间就会加 在构造函数里面的代码构造函数里面,这就我们可以看成是构造函数啊,看成构造函数 就是一个类的构造函数啊。那么如果说我们单独写一个类的话呢,我们其实是他的相同名称的,如果我们单独写 c 加加的时候啊,介绍呢是一个类名,可拉斯 name, 对吧?后面的话呢,是相同的, 跟类名相同的。这个函数的名称作为他的一个构造方法啊,而不是单独用这个 ctrl 加个头了啊,这个语法上面又有点不同,但是大家有这个思想对吧?有了思想之后你才能够后面去做啊,构造函数。 好,接下去我要给大家讲到的,上次给大家提高提到过一个,当一个类被消亡的时候,他知性的是一个什么函数,记得吗?哎, 机构函数,对了,机构函数,上次我说过机构函数用什么符号,是不是用这个这 发?哎,所以说我们以后看到这个符号的时候,那么这里面我们其实就是属于虚构函数啊,虚构函数 处啊,吸购函数数,可以看出看成一个函数的就相当于这这个类我要另一个类的时候就会执行这个部分,当我们这个类被铃木的时候, 或者是我得力的这个类的时候,这个类的扭出来的这个对象的时候,这个对象我要得力特的时候对不对?那么与此同时他会执行西构函数出, 对不对?哎,那么这就是这个类的一个生命周期啊,生命周期。那么关键是 c 加加语言啊,并不会马上执行这个东西啊。 c 加加语言的入口在哪里? 在这里内涵说明白了吗?这是路口,也就说 只能所谓路口有几个,但不能选择啊,只能有一个啊,那么这个地方你要记住啊,你要记住函数程序的路口,函数 路口函数是妹啊,而且且整个应用程序啊只能有一个,否则要报错 只能有一个,不然的话是无法被变异通过的。无法被变异通过我是不是就爆破啊。那么同学们在写这个 q t 的时候啊,后面你会发现即使你会很多的东西, 然后写的时候也发现是各种报错啊,后面报错会报的很刺激啊,你各种认为是可能的,可能正确的都会认为是报错,这是因为我们对语法的一个不熟悉啊,不过,呃这些没有关系,后面慢慢就会习惯了啊。 呃,那么我们今天的话呢?呃,这个课程呢,就给大家讲这一些啊,主要是对一个课程的一个 qt 语言啊,也不能说是语言啊, qt 是一个什么? 不要说错了啊。框架啊,谢佳佳框架的一个入门啊,主要是对他的一个入门,然后呢大家回去把这个框架给装好,写自己的第一个 qt 应用程序。 啊,那就这个吧,托个东西让他出来第一个好不好?我们下一节课再来给大家讲这些代码啊,我们今天这节课就到这里。


如何使用 q t 呢?对于初学者,我建议使用 q t creator 进行,虽然比不上号称宇宙最强的 v s, 但是它安装配置简单,安装 q t 的时候自动安装,基本可以实现一键配置,这一点对于初学者来说是十分友好的。 q t creator 是一个全新的跨平台, q t i d e 可以单独使用,也可以与 qt 库和开发工具组成一套完整的 sdk, 其中包括高级最佳代码编辑器、项目生成管理工具集成的上下文相关的帮助系统图形化调试器、代码管理和流量开发。 qt 有两套协议,商业版和开原版, 不同的是,前者要收费,而后者是免费的,当然了,后者还要遵循 l d p l 协议的规定。目前主流的 q t 版本是 q t 五和六,对于 q t 五,目前官方长期支持的版本是五点九、五点一、 五点一四和五点一五。如果你使用 qt 五的话,推荐使用五点一四,因为这个版本是相对较新的一个版本,并且有官方支持的开源离线安装包。而 qt 六的发布也有两三年了,目前已经有了长期的支持版本。如果你想使用 qt 六,我建议你使用六点二。 那么如何学习 qt 呢? qt 的框架功能十分强大,内容非常丰富,想要系统的学习需要一些时间的积累。有的人习惯看视频学习,而有的人喜欢读书学习。但是不管是看视频还是看书,最重要的是一定要自己多练习,把视频或书上的磁力代码自己再敲几遍, 这样才能记住。想要快速学习一门编程语言,最好的方法就是学以致用,找一本合适的工具书,首先把前面几张内容重点学习一下,后面就是用到什么去学什么就 行了。比如你想去了解一个按钮的功能,就专门看按钮相关的就行了。去了解他的成员函数,他的信号有哪些,他的槽有哪些说的书籍呢?我给大家推荐一本我自己经常使用的书,叫 qt 六 c 加加开发指南, 给大家看一下。这本书呢,它是由三位业内大佬编写的由人民邮件出版社出版的 q t 专用书籍,我和出版社沟通过几次,从我的橱窗去购买,可以享受粉丝专属优惠五折。 这本书呢,以 q t 六为开发平台,共十八个章节,系统介绍了如何使用 q d c 加加进行开发。首先介绍了 q d c 加应用程序的基本结构、界面可视化设计和布局管理方法、原对象系统的功能及应用。然后深入讲解常用界面组件模型、视图结构、事件处理、对话框 和多窗口的程序实现文件读写等功能的变现方法,以数据库多现成网络、多媒体图表、数据可视化、窗口通讯等高级功能的使用。这本书内容十分丰富,并且配置了大量精心设计的完整的代码和实力程序, 涵盖了进行机外程序设计所需要掌握的各种技术。主题。上集视频说到,学好 qd, 换车换房、换老婆不是梦,给你们看一看 qd 给我带来了什么 来,今年三月份刚换的车,上个月刚交补还没来得及装修的新房子,还有你猜?代码改变世界,程序数学人生加油程序员!

小伙伴大家好,我是冥王,本次为大家带来的课程呢是 qt 开发,这次呢我们带来的课程是 qt 开发的基础篇。好,在后续呢,我们会陆续为大家推出 qt 开发的进阶篇以及 qt 开发的专题篇。最后呢还有 qt 开发的项目片,项目呢,就是一个真实的一个公司的开发的一个项目。 好,我们看一下我们本节课要学习的是什么?本节课呢,要,我们要看一下我们为什么要学习 q t。 好,首先看一下 q t 是什么呢? q t 呢?是一个跨平台的 c 加加图形 用户界面的应用程序框架啊。首先呢,它是一个跨平台的,也就是说 q t 开发的程序呢,它既可以运行在 windows 上面,也可以运行在麦克上面,也可以运行在 linux 上面,所以说它是跨平台的。 然后他,我们看到他是一个 c 加加的图形用户界面框架,也就是说他是基于 c 加加语言来进行开发了这么一个图形界面的一个框架。好,我们看,我们看 qt 呢,为应用程序开发者提供 啊,什么建立艺术级图形界面所需的功能,什么叫艺术级图形界面呢?就说 qt 呢,他做出来的这个界面呢,是非常的美观的。 好, q t 呢,它是完全面向对象的,我们知道它是基于 c 加的吗? c 加是面向对象的,很显得 c 加。呃, q t 呢,也是面向对象的,所以它很容易扩展,并且允许真正的组件编成。好,我们可以呢直接用它给我们提供一个工具箱,我们可以把很多的组件,比如说 labo 呀,什么 啊,文本框呀,这些东西呢,包括按钮啊,直接可以拖载到那个界面上来,进行完成界面的一个布局。好,我们首先呢看一下 qt 的发展的历史。好, 首先呢, qt 呢,是在一九九一年的时候,是由奇趣科技进行开发的,也就是超 tag 这个公司啊,一九九一年呢,是啊,相对来说是比较古老的,可能比我们大多数的小伙伴可能年龄还要大,对吧?啊,到了一九一九九六年呢,他就正式的进入了商业领域,他也是目前 前流行了 linux 桌面环境 kt、 kde 的基础。我们知道在 linux 里面呢啊,桌面环境呢,其实有两种,一种是 kde, 另一种是 gnom, 我们 kde 呢,就是用我们的 qt 框架来进行开发的。好,到了二零零八年的时候呢,奇趣科技呢,就被诺基亚公司给收购了,他就成为了诺基亚旗下的编程语言。 好,到了二零一二年呢, q t 呢,又被这个 dj 啊这个公司进行了收购。到了二零一四年四月呢,跨平台的集中开发环境啊, q t creator 又发布了,也就是说这个 q t creator 呢,它这个开发环境呢,本身也是跨平台的 好,最早的时候呢,我们就用在那个 linux 下面,我当时用的是 father 系统,也是直接在 father 系统上面直接运行到 qt creator 来进行 qt 开发的。好,到了到了五月二十号呢,他又发布了 qt 五点三的正式版本,这个时候呢, qt 呢,他就实现了对 ios, 安卓以及 wifi 等全平台全平台的这个支持。 但是呢,我们真的用开发 ios 或者开发安卓的话,他是有专门的开发环境的,你比如做啊, ios 开发呢,肯定他有苹果推出的系统,对吧?然后做安卓呢,肯定是那个谷歌推出的安卓 s 六六来我们实现那个安卓的开发。然后 qt 呢?主要呢还是做这个这个桌面端的这个应用程序的开发。 然后到了二零二零年, qt 团队呢,宣布六点零版本正式发布。好,我们现在 qt 的最新版本呢,应该是 qt 六点三,在下一节我们安装 qt 开发环境的时候,我们就可以看到。好,他现在最新版本呢是 qt 六点三。好,接下来我们看一下,我们 既然要学习 q t, 那么我们有哪些有哪些学习的必要性呢?就是 q, 学习 q t, 它相对于其他的一些一些界面开发的一些语言有哪些?呃,有哪些的优势呢?首先呢,第一个是跨平台,我们刚才已经说了,我们用 q t 编辑的程序呢,它可以直接编译运行到不同的平台,你看主流 的主流的三大平台, windows、 linux max, 它都是可以运行的。就说我们的一个这一份 qt 代码,我们直接编译到不同的平台,然后他就可以直接运行了。好,我们主流的主流的应用程序的这个软件呢,肯定要三个平台都需要, 都需要那个适配的,对吧?而我们我们大家可能也知道有,嗯,做商务机、软商务机,或者说是桌面开发呢,他还有两个软件,一个是还有两个那个应用程序的框架,一个是用 m f c 开发,这个是微软的,然后 c 插排呢,他也是微软的,就用 c 插排语言进行开发。而 m f c 呢,他是比较老了,已经很老了现在,现在微软都已经把他给抛弃了,所以呢,大家 现在呢就不要使用 mfc 来进行开发了,当然这上面呢啊,他也是微软推出的一个编程的语言,他他们做出来的这个啊,这个桌面的这个程序呢,他只能运行在 windows 上面,嗯,他就没办法非常轻易的移植 到 linux, 或者说到麦克上说这就是他的跨平台的一个特性。然后接下来呢,我们看一下我们说 qt, qt 他有很大的优势,那么有哪些软件使用 qt 开发的呢?我们看一下谷歌地图, 谷歌地图呢,就是用 qt 来进行开发的啊,谷歌地图呢,就是由谷歌公司开发了一个虚拟的地球软件,通过他呢可以浏览全球各地的高清,高清晰度,高清晰度的这个微型图片。好,这谷歌地图,然后接下来呢 vrsakvrsak, 我相信很多小伙伴可能都比较熟悉啊,他就是一个网络抓包的一个软件, 它的功能呢非常的强大啊,对于我们开发者而言呢,我们可以它通过它进行抓包,对吧?抓包分析来解决开发过程中的许多问题,我们在开发过程中呢,这个 vsak 也会经常用到,它就是由 qt 来进行开发的,然后还有 waterbox, waterbox 呢,它是一个开源的一个 啊,一个虚拟机的软件。好,就说什么叫虚拟机软件呢?就是它可以同时在一个电脑上运行两个操作系统。 好,如果没有这个虚拟虚拟软件的支持呢,我们的电脑通常是只能运行一个系统的,对吧?好,我们典型的用法,你比如说我在速度机上安装 windows 系统,然后在在 windows 系统啊,我在安装一个 word, 安装这个 watchbox, 然后在有了 watchbox 呢,我们就可以再安装一个 linux 系统了,这样呢,我们就在一个电脑上可以同时 安装运行 windows 和 linux 这两个系统,并且呢,并且呢在这两个系统之间可以很方便的进行文件的共享,进行相互的,就是说传递文件,我们直接拖拽就可以了。好, watchbox 呢,它其实对标的是 vivo vr。 好,这两个是做讯机软件比较有名的两个软件。 vivo vr 呢,它是一个啊,它也是个讯机软件,不过它是收费的。 好,接下来我们看 vlcvlc 呢,也是使用 qt 开发的一个软件,他是一个开源的一个多媒体播放器。好,我们大家做那个音视频开发的同学呢,可能对这个应该是很熟悉的,他呢可以直接的播放一些 一些呃视频的一些裸流,比如说 h 二六四呢,它可以直接用 vrc 来进行播放,它体积小,体积小巧,功能很强大。好, wps, 这个 office, 这个是呃,金山软件的这个 wps, 这个应该是我们应该应该很熟悉了,它就对标了,就是 v 那个 office 系列。好,它也是使用 qt 进行开发的。 然后呢,还有这个 yy 语音, yy 语音呢,他就是一个游戏的一个语音通讯的平台。好,就是经常玩游戏的同学呢,嗯,可能对这个可能会比较熟悉,可以他可以进行多人的语音聊天和语音的会议,他呢也是使用 qt 来开发的,我们如果在百度一下,我们会发现其实很多的软件呢,他 就是很多功能强大的一些软件呢,包括一些商用的软件呢,其实都是使用 qt 开发的好,在这我们再说一下,千万不要使用 mfc 了, mfc 首先它是一个很古老的一个开发的框架,使用起来的,使用起来呢,也是非常的麻烦, 做出来的界面也也非常的丑陋,最重要一点呢,他已经被微软给抛弃了,所以说我们不要使用 m f c, 所以我们以后都用 q t 进行界面开发,然后使用 q t 进行界面开发的另一个好处呢,就是代码层次呢,是非常的非常的清晰。如果你用 m f c 开发的同学啊,可能有这个 体会啊,就说系统自动生成代码和我们自己写,自己写的代码在 mfc 里面呢,他是杂揉在一起的,就说我们当,比如说当我们某个空件呢,删除之后呢,就是我们需要手动的删除啊,原码中一些一些残留的一些代码,而在 qt 中呢,系统生成的代码和我们自己写的代码是完全隔离开的好。 最后呢是界面美观,就是用 q t 开发出来的界面呢,是非常美观,它不像 m f c 那个开发出来特别丑陋啊。 q t 呢,它只支持那个 q s s, 它就类似于外部端的 c s s, 我们知道外部端 c s s 做出来的界面 是非常漂亮的, qt 呢,也是支持了 qss 的,所以呢, qt 做出来的界面也非常美观的好。接下来 qt 呢,它支持二 d 和三 d 的开发,比如我们经常如果需要二 d 或三 d 图形的渲染呢,我们首选呢就是 qt 好,它支持 open g l。 如果做三维的应用呢,我们首选是 q t r 好,最后一个,呃,嗯,下一个呢,就是丰富的 a p i 完善的开发文档,就是 q t 的开发文档呢,我们在后面我们会为大家展示啊, q t 的开发文档呢,是 写的非常的,写的非常的好,非常的完整,包括里面还还附带了很多的例子。所以呢,这个 qt 的开发环境呢,它是对开发者, 嗯,文档呢,对开发者是非常的友好的。然后还有一个非常重要的一个方面呢,就是 qt 呢,我们说他是跨平台呢,他也支持嵌入式的开发。嗯,其实很多人学 qt 呢,他就是要进行嵌入式的开发,我们直接用 qt 开发出来的应用程序呢,直接 直接跑在嵌入式的 linux 上面。好,我们看 q t 呢,做嵌入式 linux 界面开发,它是最好的,它没有之没有之一,它是最好的一个做嵌入式开发的一个界面,你比如说做那个汽车仪表或什么仪器仪表什么的,都是用的 q t 做的 啊,在我们后面的课程中呢,我们也会推出嵌入式 qt 开发的课程。好,这个呢课程呢,我们的后期呢,也会陆续的推出。好这个课程呢,我们会支持那个正点原则,野火,包括伪农山系列的那个开发版,我们都会支持的 啊,这个我,我们到时候我们也会啊,推出这样的一个课程。好,嗯,还有一点呢,就是我们最好呢要学会写界面, 因为因为很多同学呢,他学那个 ca 家呢,他可能去做后台,他做后台呢,比如说他做做服务端开发,他感觉就是说啊,做界面,就是说我可能不需要,但是呢,我们通常在工作中呢,我们还是有一个会有一个就 写界面的一个需求的,就说我用 q t 呢写一个简单的界面,写一个简单的测试工具来进对我这个服务端呢进行一个简单的测试,这个时候呢 q t 呢,他就派上用场了,好,最重要,最重要的一点,好,最后啊,我们为什么要学习 q t, 因为 q t 呢他的工资待遇还是啊非常不错的啊,这个呢,是呢,我,我今天刚刚在那个 boss 直聘上 啊进行了一个截图,我们可以看一下 qt 的这个薪资待遇,我们可以看到我们在嗯,私家 qt 开发工程师的话普遍呢,你看这个十五到三十 k, 十三星,二十五到三十五 k, 二十五到四十 k, 包括后面也是十八到二十五,十四到二十八,对吧?也就说我们的 啊平均薪,平均薪资呢也在二十 k 以上,就说你如果有个有个三两年的工作经验呢,可能就是最次,最次我觉得应该也能达到个三十 k 吧,也就是说我们这个 qc 呢薪资待遇也是非常好的。好,本节课呢,我们主要是 为大家讲解了我们为什么要学习 q t, 好,下节课呢,我们为大家讲解,嗯, q t 开发环境的搭建,也就是说安装 q t creator。 好,本节课就讲解到这儿,谢谢大家。

哈喽,大家好,欢迎来到手把手教你学会安卓 a p p 开发,这节课为大家分享的是创建你的第一个安卓 a p p, 从这节课开始,我们就真正的开始一步一步走进安卓开发的大门了, 是不是有点小激动呢?这节课我们将学到的是以下三个内容,首先是我们会如何去创建一个安卓项目,然后是如何将这个项目代码运行到模拟器上。 最后为大家介绍介绍一下安卓 studio 的工作区,好,我现在为大家来演示,我们之前已经安装过安卓 studio 了,现在来打开,这就是我们安卓 studio 的欢迎界面了。我们点击这个第一个按钮,创建一个新的工程,这里是我们他供我们选择一个创建的模板, 我们看到这里有手机还有平板,这里按住 studio 为我们提供了很多很多的模板。我们一般来说是要创建一个空的,他默认 我们为我们选中的是一个空的这样一个页面,因为其他的就相对比较复杂一点,我们还是从最简单的一个空白的开始,一个空白的 xtvt, 我们点击下一步,这里是为我们的这个项目做一些相关的配置。首先第一个就是名字,我们要为我们的 上面起一个名字,他默认的就是这个我的应用,这里是一个包名,包名呢就是一个 app 的唯一标识,我们可以理解为他是一个独一无二的一个 id。 这里是你的工程的存放的路径,默认还是在 c 版, 我们要把它改到其他地方,我这里啊改到一个专门的存放,存放我们安卓工程的一个文件夹下,这里新建一个啊,我这里之前有一个叫安卓 project, 这里面已经有一些其他的项目,如果你没有这个文件夹的话,你可以在这里,你可以在你的相应的弹幕下点击这个新建文件夹 起一个名字。好,我们就选择这个文件夹,点击, ok, 我选中这个之后会发现他这他只是选中了他的复目录,但是我们的这个真正的 app 的名字,工程的名字还没有,没有去指定,这里手动给他加一下,我们可以写把这个名字复制过来,这样的话我们的 我们这个工程就存在于我们这个安卓 projx 这个目录下面了。下面是使用的语言,现在安卓已经支持 cota 的语言了, 我们这盘教程是使用加瓦来为大家演示的,所以我们还选加瓦。接下来这一个是一个最小的 sdk, 这个 sdk 意思就是说我们我们所开发的这个 app, 他所能运行的手机的 操作系统的版本的最低的版本,这里我们可以随便去选择这个,它并不取决于我们之前那个 sdk 是否下载,它只是 一个一个规定,一个标识,来规定一下我们所开发出来 app 能运行到哪一个哪一种手机操作系统的版本上。我们这里就选一个,随便选一个就行了,选个十九吧。现在其实 安卓四点四的手机已经很少了,大多数都已经在安卓六六点零以上。那我们选中之后会发现下面有一句话,就是说我们选中的这个版本,我们的 app 能运行在大约百分之九十八点一的设备上面, 也意味着全球百分九十八点一的设备都是在安卓四点四以上。好,下面这个是是否是否使用这个安卓 spo 的几个库,这个也是一个 可选项,现在都已经不使用这个,都已经使用那个安卓叉了,到这里其实就已经全部选择完毕了,我们可以直接选点击分类啊。现在这个工程已经开始创建了, 已经创建好了,我们等待一下这个过程,可能会第一次创建可能会比较慢,因为他就下载一些依赖的东西为我们这个工程去构建。我们可以在下面看到这个进度条,他是在下载一个古力豆的一个依赖包, 我们可以看到他是一百零二兆,所以要耗费一定的时间。好,目前我们遇到了新手在创建安卓工程中的第一个问题, 就是我们大多数会卡在这个界面,会发现他一直在下载,一直在下载,总是下载不下来,这个时候是因为 grido 和安卓他们的服务器都是在国外,我们在国内去访问的话,就是会遇见这种情况,就是死活下载不下来。那这个时候该怎么办呢? 我们就需要手动去下载,这里为大家提供了一个古瑞豆的下载网站,我们手动来下载一下,我们复制在浏览器中打开。好,这里可以看到这就是古瑞豆的 所有的版本,我们看一下我们需要下载哪个版本,这里面他写的是 grido 六点五点个这样一个包,我们在这里面找到对应的六点五,一定要对应啊,前面有六点五点一,也不是的,我们就要就要需要下载这个,这里我们 我推荐用迅雷来下载,因为我发现用浏览器自带的点了之后下载速度应该也是很慢的,你看他速度也是也是很慢的,还要好久 先暂停。不是这个,是这个我可以使用这个迅雷下载,右键选这个迅雷,我因为我已经安装了这个迅雷,如果没有安装的话,大家可以去装一下迅雷,点击立即下载,可以看到迅雷的速度是非常快的。好,已经下载完毕了,我们打开所在文件夹,这就是我们下好的这个, 然后我们将这个文件文件剪切到我们的 c 盘,这个滤镜比较重要。 c 盘用户, 然后你自己的个人的这个账户会发现有一个点格瑞的文件夹,这个这个文件夹点进去,再点进去,这个时候会发现有个六点五点,并这个文件夹继续往里面点。好,我们就是这个最底层的一个地方,我们就把这个文件放到这里,就放到这里就好,也不用去减压, 安卓 sd 的会自动帮我们解压。好,这样其实就已经完成了,我们的手动的,手动的下载,这里我们先把安卓 sd 的关一下,然后重新打开就好了,我们这个他会提示提醒我们正在下载,是否要终止这个任务,我们先终止 哦,好像又卡又有点卡,这是安卓 studio 本身的一些原因啊,这里就已经把那工程已经关闭了,我们可以看到这是刚才我们创建的工程,这里就会列出来我们最近打开的所有工程,我们现在创建了一个,他在 列表里面就已经存在了,我们点击再次打开,然后这里第一次打开会提示一个一个小提示,他这就相当于是一个软件怎么使用的一个引导,不要不看的话,你就可以勾选这个,不要让不要让他再显示出来,这个 有兴趣就看一下,教你如何使用的。关闭好,这个时候看起来就已经没有没有爆错了,稍微稍微再等一会,我们发现这里面还有个楼顶,充气的时候要把整个安卓 style 都全部关闭下,我刚才只是关闭了工程,没有把这个关掉,我们 我们需要把整个的安卓 style 这个都关掉,关闭完之后再点击这个,再这样再重新启动一下,这次真的重新启动,再点击这个,这次就没什么问题了, 这个过程就是稍微要等待一下,我刚才又重新关闭了一下,又重新启动了一下,那好像真正的开始去加载我们的狗绿豆了,我们可以看到这里多了一个 build, 说明他 正在构建这里,发现他弹出了一个 beauty 加成,准备就已经构建成功了。那我们也可以看到左左上角出来一个 app, 好到这里我们这个工程就已经成功的创建出来了。我们先来演示一下,把它运行到我们的模拟器 之前,之前的课程中为大家演示了如何去创建模拟器,我们这里在这点击这个手机上的东西,可以看到我们之前创建的这个模拟器,如果我们我们创建过了,在我们的这个这个地方就会显示出来我们已有的模拟器列表,那我们点击这个 右箭头就可以开始运行,并且运行到我们选中的这台模拟器上面,我们点击这个三角形会发现这里有一个启动模拟器。啊,我们的我们的模拟器就已经启动起来了,这里就是一个提升信息,他说我们的 adb 的版本需要更新,如果不更新的话可能会有一点性能影响,这个可以直接忽略,他不用看, 点击 ok 就行了。好,我们看到我们的左边的这个模拟器已经运行出来了一个界面,这个界面就是我们的第一个安卓 app, 我们可以看到中间显示了一个 hello word 的字样,上面是买 mk 型,就是我们 app 的名字,我们点击返回就可以退出。然后我们看一下我们刚才安装的这个 app, 也就是这个这个绿色的图标,这个图标是系统默认的,我们点击会发现遇见起来了,就是这样一个 hello word 的 app, 这就是你的第一个安卓 app。 好,我们先把这个关闭,先把模拟器也关掉,到到此我们就已经演示完了我们的前两部分,创建一个,如果创建一个安卓项目,以及如何运行安卓代码到模拟器上。

好的,那首先啊,欢迎各位朋友们来到铃声教育啊,我是 vick, 接下来啊,我们主要是学习通过 q t 来开发一个什么呢?手机密码锁的一个架构设计。什么意思? 我们会发现平时我们手机啊,安卓手机设置密码的时候对不对?我们可以通过在 键盘上画,是不是画那么浅,中几个啊?指定带一个什么呢?啊?密码锁,然后你确定几次之后他就自动生成了,下一次你必须按那密码锁进行解开啊,就这么简单。 那这个在其实安卓手机开荒啊,嵌入 q t 设计的时候,他也是按照这种方法进行进步来实现的,那么这个程序的音 效果就这样,现在我们来看一下接着什么,接着我们就打开啊,哎,我的电脑是吧?嗯,在这个 q t 里面啊,这个地方打开之后呢,我双击 看没有,这时候弹出来了吧?你看我把鼠标放这,是不是在这闪闪闪看到没有?那现在你根本就不知道这些按键 他的值是多少,现在是四十一十六个,看到没有,那我怎么操作呢?比如现在我设计我从这地方开始啊, 那么这个的话你要根据自己的需要了,你设置,比如四乘四,他的这个啊,密码分布是多少,每一个按键代表什么?什么样的字符,那比如啊,我自己设计我肯定非常清楚,那比我输一个什么呢?比如一, 一是吧,然后呢?二,对不对?接着就是什么呢?三,好,我再走到 四是吧?啊?五,再找到六, ok, 写完之后我双击这边,你看没有,现在就发现什么呢?你发现这个手机那个子那个按按键 解锁的话,你看他的密码就是分别是一、二、三、四、五、六,但是如果少于六个就不能构成了,比如我清楚是吧?啊?那我再一次啊,大家看一下,你,比如现在我说什么呢?比如说这个刚才我们讲过了啊, 比如我一是吧在这里啊啊,然后呢?二,那我就直接什么呢?四,哎,四完之后呢 啊?就是一二四,然后我再三,三完之后我再六,六完之后呢?我再五,你看这种设计规则啊,我双击,你看没有?还是按照刚才我的一二、三、四、五六,那么其实里面的每一个 按键这些字符,各位朋友我们随时可以修改变化。那么今天晚上各位朋友啊, 要注意啊,那么今天晚上对不对?就是今晚我们要专门设计这么一个程序, 那么这个我们可以应用在什么呢?应用在这个实际开花当中呢?这是按钮怎么设计?这非常简单啊你,只不过你做 ui 不一样而已,那现在我就把这个进行啊,还原操作。

好,今天和大家分享一个,如果我们用 q t 做了一个简单的小软件,如何打包给别人用呢?因为有时候我们自己电脑能运行,但是呢,如果我们把发布版的 软件打包给别人,有时候运行不了,说是缺文件,这时我们用这种方法打包。好,我们做一下演示,我打开一个之前自己做的软件。 好,这是客户端,我们看一下, 一会为了加深印象会重复两遍,因为刚好这个是客户端,一会再把客呃服务端打开, 我们是选择一个他是发布版的,然后点击运行。 好,他是在运行中,我们稍微等一下这个绿颜色,然后 这边也能看到。好,呃,这就是之前变得一个软件,我们先把这个软件发到别人电脑上,可能有时候打不开,我们用这种方式,我们先关闭, 因为我们刚才编译,然后运行了,所以的话这边就有一个发布版的软件 release, 我们可以看一下,这是在自己电脑上,他是能打开的,但是在别人电脑上可能打不开。 就是如果我们把这个发布版的这个软件拷贝给别人,所以我们用这种方式可以新建一个文件,假如这个文件的名字就是 plant, 就是这个名字,我们可以把帆布版的 exe 拷贝在刚才建的目录中,然后输入一个命令 cmd, cmd 的话,然后我们要给他打包成温度是不能运行的文件。 windows wind e diplo windows 步数 q 七,然后把要步数的这个文件名,然后打上,确定 好,这时候已经运行成功了,我们可以看一下,这是我们新建的这个文件,已经做出来好多的文件,这些文件就是支撑在其他电脑运行的一个环境, 我们再演示一遍,这个是 clan, 一会我们再演示一个他的 service 服务端, 一会我们把自己电脑上运行好的软件考配到其他电脑上,看能否运行成功。好,我们看 service, 我们运行一下, 这时 siris 已经打开了,我们把自己编好的软件以发布版的形式,然后运行, 这时候他在运行 好,现在已经运行成功了,我们可以关掉, 打开那个已经编辑好的那个目录,这是 service 好,瑞丽丝,然后我们新建一个文件夹,假如就叫 service 好,我们把这个编辑好的这个软件,这个 ex e 考进去,然后用刚才的命令 windows, 这是在 window 下,这飘是步数 q 七,然后把名字一打,然后回车。好,这时候已经设置好了。这 我们一会测试一下,看能否在其他电脑上运行。我们把这两个文件发送到另外一台电脑,我这个电脑是, 嗯,温室系统,温室的他是可以打开的,可以看一下,他是可以打开的。好,我们现在把刚才用命令打包好的软件发到其他电脑上,看是否能够成功。 我们放到 这是一个温七系统,我们放到温七系统下, 真切 是设备 style, 我们再把 ct 拷贝过去,这是我们之前生成的 好,也要考虑过去。 好,刚才是模拟,就是把自己生成这个软件,这已经打包好了,然后拷贝到别人电脑上,我们看一下可以运行吗? service, 嗯,运行成功,然后是 clint 运行成功。其实他的见面可能是有差异的,因为有时候和分辨率有关,有差异的。嗯,假设我们 tcp 通信 一下启动服务 很好,允许看一下软件是不是有问题,然后连接服务, hello, what? 嗯, ok, 接收到, ok, 好,没有问题,好,这就是 q 七软件打包的一个过程,和大家分享一下。

就是 q t 开花常用的一个什么五大高端技术这个模块,那么这五大高端技术模块一般我们讲哪些呢?搞清楚啊。第一个,嗯, a 是吧? b, c, 还有一个什么呀? d 啊?一,那现在我们来看第一个,第一个是什么呢?我们将讲的要搞清楚这个 q t 当中啊,专门一个什么呀? vivo n 九这个体系啊, vivo n 九, vivo, 嗯, 叫做什么呢? n 九这个模块,那为什么我们要学这个模块要搞清楚呢? 因为这个模块是基于什么基这个引擎啊?是 vivo 浏览器的组件,它能够支持这个 c s s 三,包括 h 五以及一些最新的 标准。就这一块除了这一块以外的话,还掌握什么呢?比如网络编程 qt 这个模块里面专门有一个什么呀?有一个 network 这个模块,这个模块是做什么的?这个模块他就是我们所讲的一个网络编程框架, 它支持 http 这个协议,还有 tcp ip 协议等等啊,这些网络通信方式啊,除此以外的话呢,还有什么呢?你要搞清楚这个数据的实话。 q t 里面装了一个什么 data, 嗯? q t data 什么呢? data 这个 visualization 啊, visualization 这个, 那么这个模块它是什么呢?就是数据的可视化框架,这个数据可视化框架的话,它能够什么?能够将大量的一个数据啊,以图表的形式展示出来,这是我们要学的,要搞清楚的。 另外一个就是 qt 的一个什么呢?嗯, charts 就这个图表这个模块,那么这个模块他能够支持什么呢?支持这个图表绘制啊,比如折线,折线图啊啊,包括这个啊,这个圆柱图啊等等, 还有一个是非常重要,现在也是非常火的,叫 q t 的一个什么 ai, 我们叫做什么呢?人工智能对不对?嗯?人工智能这个模块为什么呢?因为这个模块它能够提供什么?提供我们机器学习啊,和一些 机器学习算法,还有一些深度学习框架,他能够让我们这个开发人员啊,能够快速实现什么呢?啊?人工智能的应用。

下面我们来看第一个例子 hello world, 我们先创建一个新的项目,这个创建新项目的项目里面我们一一的来解释一下这些含义。首先在这里可以选择我们不同的设备,第一个凤 and tablet 就是什么手机跟平板电脑, 第二个 vros 就是可穿戴设备,第三个 tv 电视 android auto, 那么就是车载 android things, 互联网设备 us 眼镜。那我们这里呢,选择一个凤的 tablet 是最常见的手机平板,然后下面有选不同程序的模板,这个是最简单的,那么其他的还有一些稍微复杂一些的,比如说像这个叫做 bottom navigation, 就底部有一个不同的切换,可以有几个栏目, 这个是一个 basic, 然后还有一个 master detail。 好,我们这里选一个最简单的 empty。 好,我们下面 next next 之后这里给一个名称,我第一个项目叫做 hello world, 按照我们编程界的传统,第一个 例子永远都是 hello world, 那么这个传统是怎么来的呢?我们学过程序设计的都知道,第一本 c 语言的教程中的第一个例子就是非常经典的 hello world, 在屏幕上打出这句话,那么后来呢,我们就延续了这个传统,所有的几乎市面上所有的教程书里面跟编程相关的这个书啊,里面第一个例子都是 hello world 啊,我们这里呢也不例外。好,下面这里我们第二个选项是选一个包的名称, 然后这里是一个我们的项目的存款的路径,可以自己选一个,然后这里是选择一个开发的语言,那么这里我们需要注意呢,我们现在 android 开发有两种语言,一个呢是加把,还有一个呢是 cotton, 大家注意到这个 cotton 是排在前面,就是从, 呃,应该是从二零一八年开始啊, google 呢,倾向于让这个 cotton 成为我们安卓的开发的一个官方语言,因为加瓦是属于他的版权啊,是在另外一个公司手上啊,加古文的公司。那么 google 为了避开这个权力上的纠纷呢,他现在呢,重新搞了一套 啊,引入了一个开放的一个语言 cotton。 那么但是我们这里呢,还是继续使用这个家吧,有兴趣的可以自己去学一下这个 cotton。 这里我们选一个最低的 api level, 这个什么意思呢?就 说我们这个 android 市面上有很多不同的版本,比如说 api level 十九就是 android 四点四,如果是最新的啊,现在是二零一九年四月最新的,我们这个 apiq 已经发布了,就是 androidq。 那么你选的这个知识的版本越高呢,意味着呢,兼容的设备就越少,因为我们大量市面上的设备呢,还是运行在比较低的这个 android 的版本上啊,这一点呢,跟这个 ios 是苹果的 有明显的差异啊。据统计说呢,这个苹果的用户呢,非常乐于将系统升级到最新的版本,往往呢每一个新的 ios 发布之后,往往在几天之内啊,就会有百分之八十以上用户呢会去升级,但是安卓的用户升级的意愿没有那么高啊,现在有很多用户一呢还是在使使用 四点四啊,五点零,六点零这些版本,那我们这里呢,如果选择最低支持四点四,这里大家注意到有句话,他大概有百分之九十五点三以上的设备是会被兼容的啊,如果你选一个比较高的版本,比如说九点零,那只有少于百分之一的设备,我们后面都是默认选用四点四,我们选 finish, finish 之后呢,我们就可以进入到我们的工作区间,这里需要构建一下,构建完之后我们将进入到我们的 工作区间。那么第一个例子呢?其实我们不需要做什么东西啊,我们是借助这个例子,也是带大家了解一下我们这个软件 angelatsudu, 它的一个主要的界面,它的一些我们主要工作的一些区间的一些介绍。 好,我们已经进入到工作区间左边这里这个称为我们的导航栏,导航栏注意我们这里还有一些不同的选项啊,默认的啊, project 的一个项目导航点中不同的这个叫做 resource manager 啊,我们的资源的管理器,还有一个非常常用的一个叫做 structure, 是会打开我们的一个结构的一个小窗口,那么这个结构小窗口打开之后呢,它就可以显示我们的每一个这个程序的一个结构, layout capture 啊,还有一个 you the parents, 就是一个构建的一个多样化,也可以构建不同的版本。那我默认呢切换到这个 project 这个导航,那么中间这里呢,是我们的主要的工作区间了啊,一个就是我们的写代码就在这个位置,那你切换到这个界面文件的话呢,我们这里有一个编辑界面的一个空间 啊,然后这边导航来这里,我们看到这里的这个目录结构啊,那么最基本的就是这样三个东西,最上层是我们这个 app 的一个根结点,下面是三个,一个是 manifest, 就是我们的一个 app 的清单啊,我们后面会逐步接触到这里面的含义啊,暂时呢我们就先不管他了, 他也是一个 xml 文件,下面一个子木路是加瓦,子木路呢是用来存放我们的加瓦原带瓦文件的啊,里面呢还有一些小的一个归类啊,我们这里呢有一个默认的,已经帮我们创建一个叫做 man xtvt 点加瓦的文件,那么在这里呢,我们可以看到一些代码,这个已经帮我们写了一些代码在这里了, 以及下面还有一个 resource 目录, resource 目录呢是我们的资源啊,资源呢分为四种,一个呢是 joyboat, 是我们的图片,这里已经默认有两个,就是我们的背景的启动的一个背景啊,前景背景。第二个 resources 是我们的 layout, layout 呢就称为布局文件,它也是一个 xml, 就是我们的一个 layout, 一般来说就是指一个页面,然后下面这个是一个启动的一个图标 啊,我们在这里有一些图标文件啊,图标默认哪个 app 的一个图标,我们当然可以,你用你的美工团队的话,可以用自己设计的图标去替换他,我们现在暂时不用啊。第四个呢是一个常亮,杀六十常亮, 我们一个程序中可能会涉及到很多常量,都放在这个 w 四里面,这里 w 是三个文件,一个是 color 颜色,一个是 string, 这个是非常重要的一个文件,里面我们所有的长量字符穿长量都可以放在这里,那么默认的里面已经有了一个叫做 就是我们这个 app 的名字啊,你把它装到手机里面之后,他显示的这个 app 的名字啊,现在他默认的是跟我们的项目名一致。哈喽,我待会我们可以改一下看看效果啊, styles 样式啊。然后呢,我们来看一下,我们这边很多很多,这个叫做 tab 啊,我们每打开一个文件,他就会开启动一个标签栏啊,那我们可以呢,右键在这里可以选择关闭或者是关闭全部啊,都是可以的。然后我们这第一个例子呢,我们重点看一下这个 layout 文件吧。啊,在这里我们看到他默认的帮我们放了一个标签,这个标签叫做 text view, 然后呢是放在一个叫做 constraintly out 在一个布局里面啊,目前来说这个 constraintly out 是一个系统推荐的一个布局啊,在早先的版本中啊,用的比较多的是一个 relatively out, 那么这个布局的好处呢,就说非常便于我们在这个可视化的界面中来对我们的空间进行位置的设定啊。然后这里呢是一些空间, 这些空间呢就我们都会常用的,比如说这里有个 text view button 按钮, image view 显示图片的 switch scroll view 滚动的好。然后呢是这里呢文本文本下面有很多, text view 是指读的标签,然后是一个输入框,密码, email from, 这些都是输入框 number, 然后是 button, 有很多不同的 button, 另一面就 button checkbox radio group, 就是勾选的点选的,然后是一个 switch, 可以左右开关的。还有一些空间啊,这里很多,我们暂时呢也就不一一的去介绍了,后面用到我们再来讲 啊,然后这里呢有一些 layods 的一些辅助的一些东西,主要包括你可以放一些布局,像这个 constraint layout 刚才已经介绍过了,然后呢有这个线性的布局,拎点 layods 有包括水平跟垂直,这个 hold 上头是水平 vertical 垂直。然后呢还有一些非常有用的,像这个盖的 line 辅助线,我们如果要加一个空间, 准确的放到我们屏幕的合适的位置,我们往往呢会用到这个辅助线啊,我们在后面的这个例子中呢,再来讲如何使用这个辅助线来精准的定位我们的空间位置。 好,最后我们来看一下这个已经放上去的这个空间,那么这个是一个 text view, 我们在这里可以放大啊,把这个窗口拖下去一点放大啊,那么选中之后呢,右边这边呢就会弹出一个叫做属性的选项,这个空间的所有的属性在这里呢都可以编辑,有很多属性啊,我们去查文档就可以知道如何来通过这些属性来控制我这个 text view 表现出来的特性。 我们这里马上可以调一个他的字体的大小, text size 啊,我们这里可以调一个,比如说三十,默认比较小啊,调成三十呢,他就比较大了,就显示在这里, 那么这个你还可以拖动啊,他在屏幕上不同的位置,他是靠这四个边上的点来限制这里四条线,就是这个叫做 constraint 约束限制我们。由于是第一个例子啊,什么都不用动啊,那么我们就暂时先运行一下在这里啊,点这个三角运行,他会弹出一个在哪一个设备上运行,那我就选中一个我已经之前创建好的设备,像这个 picson, 就这个设备是一个 google 啊,规范的一个手机吧, google 可以认为是 google 自由的一个品牌的手机啊。 确定之后啊,那么这里构建如果没有错误的话呢,他就会进入到我们的程序运行的界面啊,这个看到我们的是吧?哈喽,我那么另外一个没有讲到,就是下面这里,下面这里呢是我们的一个叫做控制台啊,它会显示很多东西啊, 包括我们程序如果有错误的话,在这里都会有错误的提示啊,以及呢,像这里有一个 log cat, 也是一个非常常用的一个功能啊,他会帮我们打印出一些我们想要看的一些观察的一些控制台的信息啊,用来调试程序,非常方便,非常有用。那么第一个例子呢,我们来再改一下吧,比如说像这里啊显示的这句哈喽沃的,我有没有办法让他换一个文字呢? 比如说你不喜欢这句话,那我们在这里呢可以点中这个 text, 然后改句,你好,世界啊,用中文来显示,那么你好,世界我点运行,那么进来之后呢,就看到你好世界啊,然后我们其实细心的人会发现这边呢,你会出现一个感叹号,感叹号呢就是一个警告,他这个这句话意思就是哈的 code 的啊,你好,世界 suit youse, strange sous, 是吗?就说他不建议你这样直接填进去一个文字在我们的 这个位置啊,他建议我们呢将这些文字,这个其实就是长亮了,放到哪里呢?放到我们刚才说的这个长亮里面啊,那么怎么来做呢?比如说我这里啊,添加一行啊,添加一行这个叫做 fo, 比如说啊, 你好世界,那么你这个写完之后,我们回到刚才这个撩头里面,到这里呢,你就可以那什么呢啊点这里,他就会在我们的长量中,这个列表中啊,资源列表中已经显示在这里,这个是我刚刚创建的一个字符啊,那我选中他, ok, 那么这个时候呢,这边的这个感叹号呢就没有了,那么系统为什么推荐我们这样来写代码呢?是他呢就尽量让我们的代码呢要独立,因为我们把所有的文字都放 在这个文件中,那就相当于是呢,我们就可以单独来维护这个文件,就可以来调整我们所有的文字啊,比如说你改变主意的将来啊,你,你这个东西不想把它教到你好世界了,那你可以换一个啊,那么我们程序里面其他地方就不用动它啊,这样呢就相当于是提高我们程序的独立性,这是一个非常好的习惯。另外一个好处呢就是能够帮助我们比较方便的将我们的程序的应用的界面进行国际化,翻译成不同的语言。我们下面也有一个单独的一个教程来讲这个事情的, 那我们这里就要注意啊,我们尽量的采用这种方式,将我们的这些长量文字都放在我们这个里面啊,来做好我这样运行呢,它是没有任何警告的啊 啊,最后还有一点就是关于我们的这个 apk 的创建,那我们如果一个程序调试完之后运行没有问题了啊,那我们呢可以呢让他呢在这个地方用的这里啊, generate sign 的帮斗啊,或者 apk, 那么这里有两个选项,一个是 app 关懂,一个是 apk 啊,那么如果你要将这个你的应用要发布到 google 的 google play 应用市场啊,现在呢,它是建议移动格式啊,因为它这样效率最高。那么这个呢是比较传统的 apk 啊, apk 呢,也方便于我们私下啊之间传递我们的这个文件啊,可以马上装到我们的手机上啊,我们先暂时就用这个 apk 吧啊 next, 那在这里呢,他是需要用一个 keystone, 我们如果没有的话呢,先创建一个,你后来如果已经创建过,后面就可以重复使用,比如说这里我创建一个 creating new, 那么给一个名称这个 keystone, 这个呢是选一个存储的位置哦,比如说把它存在这个地方,给一个名称好,把它叫做 key 好保存啊,这里随便给一个密码,自己记住就好了啊,这里给一个别名啊,这里也有个密码啊,下面这里需要填一些信息啊,你当然也可以不填啊,直接 ok 啊, ok, 不行必至少要填一个啊,那我们就随便填一个啊,我们就填一个内容, ok, 那么这样呢,就可以了,然后就 next。 好,这里选一个你要创建的这个 apk 的类型啊, release 还是的 bug, 一般来说中间阶段我们创建一个 debug, 如果没有什么问题,发布了就 release, 下面两个都选上好,然后 finish, 那么他就会帮我们构建。 稍等一段时间之后啊,这里呢就出现了勾结完成,我点这个 locate, 他就会把我们带到我们的项目的文件里面,在这里有一个 release 里面呢就会出现一个后缀名为 apk 的这个文件,这个呢就是我们的这个我们写的这个应用 pk 文件,这个文件呢就可以直接装到我们的手机上运行的。那么我们这个例子呢,第一个例子呢就讲到这里了啊,其实没有讲,这个例子本身涉及的东西不多啊,更多的是借助这个例子来介绍这个软件的一些布局,他的一些界面的一些使用功能的使用,我们可以自己建立一个项目,然后呢来运行一下,看看能不能成功啊。那我们这一次教程呢就讲解到这里了。

哈喽大家好,欢迎来到手把手教你学会安卓 app 开发的入门篇,我是扫机器的孙悟空,这节课我为大家分享的是安卓 cd 六的安装。 首先我们来看安卓斯蒂对与 id 一这个话题。 id 一就是我们在网上经常听到的集成开发环境,他是这三个英文单词的首字母,所以叫做 id 一。 id 一可以理解为一套开发软件的环境,也就是我们通常所说的携带码的软件。对于我们开发安卓 apple 来说,也就是安卓 style。 这款 id 一。 在四点一之前,我们的安卓四六六是这样的图标在四点一之后更新成了右边这样的图标, 不知道大家喜欢哪一种呢?接下来我们来看一下安装安卓 c 六对我们设备的一些要求。对 windows 来说,操作系统可以是温七、温八或者温十,内存方面的要求至少是要四个 g, 推荐的是八 g、 十六 g, 当然越大越好。磁盘的话最好是固态硬盘,因为传统的物理磁盘会比较慢。然后额外我们很可能还需要一部安卓手机用来测试这个。我们可以用自己的手机, 因为运行到自己的手机上,一方面是显而易见,可以很快的很快的看到效果,另一方面呢,他会比较快。如果用电脑自带的那种模拟器的话,我相对比较慢一点,而且会比较吃我们电脑的 内存。本套教程是采用 wintos 十操作系统的电脑来录制的,如果你是使用麦克电脑的小伙伴,可以到网上自行去寻找麦克电脑下安装安卓 style 的方法也比较简单,当然这也不影响我们后续对安卓知识的学习,所以 大家都可以。好,接下来我们来下载一下安卓死丢丢,这个是我这里给出了两个下载地址,一个是谷歌官方的下载地址,另一个是 国内的一个下载网站,如果你发现古官方的地址打不开,可以尝试一下下面这个地址,我们来我们来演示一下, 用古官方这个下载地址来进行下载,我们复制下载地址打开,我在我们浏览器中打开, 稍等一下,可能会有点慢。好了,我们打开这个网站网址之后,可以看到这里就是我们安卓四阶段的下载地址下载页面,然后这里 一个绿色的按钮就是下载安卓 style, 下面标明了他是四点一点一这个版本,为我们的 wintos 六十四位的操作系统准备的这样一个版本,如果你是其他的电脑或者其他的操作系统,可以点这个下载选项来下, 在不同的版本我们来点一下,可以看到跳到了这里,这里他为我们准备了不同平台的不同的相对应的安装包,比如这里首先是 windows 六十四位的,然后是麦克电脑的,接下来 lux 等等,大家可以根据自己的电脑来进行下载,我们这里是 windows 电脑,可以看到这里为 windows 准备了两种安装包,一种是点 exe 结尾的,另一种是点 zf 结尾的。 我们知道点 a exce 是一种可运行的程序,就是说这是一种以运行程序的方式来安装的。点 aj 谱呢是压缩包的一个后缀名,也就是说这种是 不需要运行的,可以直接解压。说的这里我们看到这个单词是推荐的,意思就是说官方推荐我们用这种方式来进行安装, 那我们我们这里就用官方推荐的方式来吧,我们点击这个,然后勾选下载条款,同意这个协议,然后点击下载,这里可以看到他弹出来了一个下载任务, 那我们下载这个,我这里已经下载过了,所以就就不再进行下载了。下载,下载完之后可以看到这一条就是我之前下载过的一个 一个安装包,那我们打开文件夹,可以看到这里就是这个安装这个安装包,我们双击来打开它进行安装, 稍等一下 可能会有点慢。好,这里弹出来了一个下一个安装的向导,我们点击奈克斯的下一步,然后这里继续点下一步,这里是勾选了安卓的虚拟机,就是说我们的后面要用到的 模拟器,然后点下一步,这里是我们要安装的一个位置,我们不推荐安装的 c 盘,我们改装改改一下, 把它的盘幅改到地盘,然后我习惯把前面的这个路径给删掉,这样的话就会比较明确。好,我们这里可以加一下 安卓四六四点一,方便我们后续来,很快的知道我们装的是哪个版本的安卓四六。 好了,修改了路径之后,我们点下一步,这里是要生成一个菜单,菜单的文件夹,我们我们同意我们让他生成这样一个 快捷方式,如果你不想要的话,你可以勾选这个,不要去生成快捷方式,然后我们点击 aico, 好,接下来他就已经开始自动安装了。 好,我们看到这里已经安装完成了,点下一步, 然后点分类曲,他就会开始运行我们的安卓斯丢丢,好,我们看到到这里我们的安卓斯丢丢就已经运。