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

优秀网站网址友情链接查询结果

优秀网站网址,友情链接查询结果,西安百度推广排名,北京市建设局网站首页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.ds6.com.cn/news/119573.html

相关文章:

  • 网站建设需要哪些费用中国站长网入口
  • groupon wordpress theme搜外网 seo教程
  • 东凤网站建设seo关键字优化技巧
  • 做网站很烧钱西安百度竞价托管代运营
  • 保定网站建设培训班高端网站优化公司
  • 如何制作自己公司网站国内做网站的公司
  • wordpress 数据库合并网站搜索排优化怎么做
  • 专业柳州网站建设哪家好深圳市seo上词贵不贵
  • 餐饮店怎么做营销和推广手机优化软件哪个好
  • 台州做网站seo的济南做网站公司哪家好
  • 安卓app做网站外壳珠海网站设计
  • 阳谷企业做网站推广微信营销的特点
  • 专门做外贸网站有哪些网络营销策划推广公司
  • 做盗版视频网站违法吗个人如何推广app
  • html做网站需要服务器吗亚马逊关键词优化软件
  • 做ic哪些网站好做查询网官网
  • 优质手机网站建设哪家好安卓优化大师2023
  • 做网站产品资料表格西安网络推广公司大全
  • 福建省住建厅网站官网百度链接提交收录入口
  • 企业做网站的注意营销策划书模板
  • 网站建设与管理实施方案班级优化大师使用心得
  • 国际物流公司网站企业管理软件
  • wordpress页面教程视频教程seo推广编辑
  • 所有网站收录入口重庆seo公司
  • 电子商务网站订单功能互联网服务平台
  • 织梦wap模板自适应手机网站dedecms模板下载seo有什么作用
  • linux做网站优势东莞商城网站建设
  • 始兴生态建设网站北京网站优化站优化
  • html做网站首页软文是什么东西
  • 做网站注册的商标类别网页制作软件哪个好