当前位置: 首页 > news >正文

最好看的网站模板今日特大新闻

最好看的网站模板,今日特大新闻,马良行网站3d模型预览怎么做的,wordpress怎么修改中文QT概述 什么是QT QT是一个跨平台的C图形用户界面应用程序框架。为应用程序开发者提供建立艺术级图形界面所需的所有功能。它是完全面向对象的,很容易拓展,并允许真正的组建编程。我们本系列QT基础讲解所用到的QT软件是 QT creator(Community…

QT概述

什么是QT

        QT是一个跨平台的C++图形用户界面应用程序框架。为应用程序开发者提供建立艺术级图形界面所需的所有功能。它是完全面向对象的,很容易拓展,并允许真正的组建编程。我们本系列QT基础讲解所用到的QT软件是 QT creator(Community)如果有需要下载的小伙伴可以后台私信我。

QT原理

        QT就相当于在我们之前学习C++用到的Visual Stdio(以下用VS代替)编程软件中添加一个类,与QT不同的是VS软件会创建一个.h头文件以及一个.cpp文件,不会创建main.cpp。

        言归正传,我们进入到QT 创建类的界面中:

        QT环境下创建一个类的流程大概是:在.h头文件中声明所创建的类,在.cpp文件中引入,并自动生成析构函数和构造函数,同时添加一个主函数。

        第一行“类名(C)”中填入的就是我们为这个创建的类所起的名字,第二行“基类(B)”就是我们这个类想要继承的基类,展开我们可以看到有三个选项:QMainWindow,QWidget,QDialog。下面我们简单介绍一下这三个基类以及他们之间的关系。

  • QMainWindow:是一个窗口类,具有菜单栏、工具栏、状态栏。当我们选择继承QMainWindow的时候,我们所创建的类也就拥有和QMainWindow一样的性质,此时就形成了多态(PS:多态的目的就是减少通过一个类来创建新的类)。

  • QWidget:窗口类,只有一个窗口,没有菜单栏等。

  • QDialog :窗口类,例如对话框等都属于QDialog的范畴:当我们创建一个记事本的时候,输入一些内容,点击关闭按钮之后,会弹出一个对话框来询问是否保存这些内容,这个对话框就属于QDialog。

QMainWindow、QDialog、QWidget之间的关系

  • 总结起来,三个类都属于窗口类,QWidget是其他两个窗口类的基类。

        了解完上述内容之后,我们就来创建一个基于QMainWindow这一基类的类,创建完成之后我们会看到以下几个界面:

映入眼帘的就是"项目"二字

那么在哪能找到这个项目呢?

在我们保存的路径中就可以找到这些文件了。 

.pro界面

头文件 .h文件界面

源文件 类的.cpp界面

源文件 main.cpp界面 

界面文件 .ui文件界面

初始文件中各个部分的介绍 

接下来我们来介绍一下初始情况下各个部分的大致内容:

.pro文件

着重介绍下面这两个:

  • core:表示引入模块,core 包含了QT的一些特性如:信号与槽,用于保护指针(Qpointer)获取对象所有权等
  • gui:该模块包含了窗体系统,事件处理,字体等

信号与槽:当我们关闭一个窗口时,这一举动会向信号槽发出一个信号,该信号被信号槽接收之后信号槽会发出指令。

.h头文件

        由图可以看到,当我们在创建类的时候选择的基类就是QMainWindow类,在代码中就体现出来了;而构造函数的关键字"explicit"的作用是防止用"="调用构造函数;同时具有析构函数,下面有一个UI作用域中定义了一个ui指针(以后会讲到)。 

类的.cpp文件

        当进入到类的.cpp文件中,我们会看到有一行一长串的代码,别着急,我们慢慢分析:首先CSDNone::代表的是作用域,紧接着的是CSDNone的构造函数,后面的“:”以及后面的代码构成了初始化参数列表再后面就是析构函数析构ui指针了。那么就有疑问了,刚刚的头文件中不是只创建了一个ui指针对象吗?为什么前面还有一个QMainWindow的构造函数呢?在此之前我们要看一下QMainWindow的内容,把鼠标放在QMainWindow上,然后按键盘上的F2,找到QMainWindow的构造函数:

我们可以看到,QMainWindow的构造函数是有参构造!!! 那么我们就要回顾一下C++中的知识:在学习C++的时候,我们知道当一个子类继承父类时,创建子类对象一定会先创建一个父类对象,而创建父类对象的时候一定会调用父类的构造函数,顺序为父类构造->子类构造->子类析构->父类析构,但如果父类构造函数不是无参构造时,我们需要在子类对象的初始化参数列表中显示调用父类构造函数。在VS中就应该是这样:

 main.cpp

介绍一下

  • QApplication:该类型创建的对象主要是管理应用程序的事件循环,处理用户输入和其他按键,通俗来说就是用户做出的一系列举动:关闭窗口啥的。
  • w定义一个创建的类的类型的w对象,这个“w.show()"的作用就是显示窗口 
  • return a.exec():等待一个指令来关闭窗口等

那么这时候就有一个疑问了,为什么不能是return 0呢?为什么改成return 0之后会看到窗口闪一下就没了?

答案很简单:我们知道创建的这个w对象,他是一个局部变量,当作用域结束的时候就被销毁了,那窗口肯定就消失了,所以我们要用return a.exec()来等待指令关闭窗口,说白了就是给窗口卡在那。

http://www.hkea.cn/news/404366/

相关文章:

  • 金华做网站最专业的公司搜易网提供的技术服务
  • wordpress适合门户网站吗怎么营销自己的产品
  • 常用的网站类型有哪些seo优化专员编辑
  • 网站专题框架怎么做海阳seo排名
  • 手机网站代码下载黄页网站推广服务
  • 做网站前端多少钱在线bt种子
  • wordpress+模版+推荐专业网站seo推广
  • 浦项建设公司员工网站2023免费推广入口
  • 如何查询某个网站的设计公司最新推广注册app拿佣金
  • 八宝山做网站公司打广告
  • wordpress vip查看插件南宁seo费用服务
  • 建站之星模板怎么设置手机如何做网站
  • 上海公司网站制作价格西安百度关键词排名服务
  • 长沙网页制作开发公司aso优化方案
  • 深圳罗湖网站制作成人电脑基础培训班
  • 无锡网站制作咨询深圳网站设计十年乐云seo
  • 大连城市建设网站seo优化顾问服务阿亮
  • 福州 网站建设沈阳seo关键词排名优化软件
  • 做网站还要买服务器吗镇江seo
  • 专门做特价的网站优化排名案例
  • 网站建设的一些问题友链交易交易平台
  • 创业初期要建立公司的网站吗seo排名优化代理
  • 做网站全屏尺寸是多少钱站长工具查询系统
  • 做企业平台的网站有哪些手机网站制作教程
  • 免费行情的软件大全下载北京公司排名seo
  • 网站联系方式要素qq群推广链接
  • div css 网站模板免费的云服务器有哪些
  • 35互联做网站好吗网店运营工作内容
  • 网站建设模拟软件营销培训课程内容
  • 深圳建网站兴田德润专业2023年最新新闻简短摘抄