Qt5详细入门知识介绍
众所周之,一个优秀的**“程序猿”**, 除了能够提出新颖而高效算法,并在命令行形式下编写出来,使得处理器能够执行相关操作外,还应能够制作出良好的交互界面,使得外行人员也能够了解清楚你的产品设计思想,为你的创作而点赞!为了实现可视化这一目的,Qt语言就应运而生。
Qt是用来进行用户图形界面设计的程序框架,它是跨平台的,不论在Windows、Linux还是Mac OS下面都能够运行,而且代码是基于 C++编写的,表达形式丰富多样,而且开发效率非常高。
【一】首先下载Qt5对应的最新版软件:https://www.qt.io/download
【二】一定要有相应的C++语言基础,否则很难弄清楚Qt5中有关类、对象、继承相关操作。详细的学习经验科研参看这个帖子,不要奢求一次性全部学懂,需要慢慢来磨练代码,知乎是一个不错的资源池,可以提供很多学习资料(如视频、书记PDF等)https://www.zhihu.com/question/23933514/answer/26393521
【三】Qt开发环境的基本介绍:
(1)Qt开发过程中,我们除了采用编程的方式实现窗口界面设计外,我们还可以利用UI设计器来对整个窗口进行绘制和布局。
(2)采用GUI形式创建的一个Qt项目如下:
对于【1】而言,是QLabel类中的一个对象,专门用来管理文字;
对于【2】而言,是QLineEdit类中的一个对象,专门用来管理框型文字输入;
对于【3】而言,是QPushButton类中的一个对象,专门用来管理按钮点击过程;
(3)为了实现UI界面与项目中的Headers头文件和Sources源文件相联系,于是我们需要在dialog.h文件中加入类的私有属性(【1】【2】【3】)。
QDialog、QLabel、QLineEdit、QPushButton都是类,直接用类名作为标准可导入进来,这是Qt头文件的写法特点。首先这个类名Dialog继承于基类QDialog,采用共有继承方式,Q_OBJECT是一个宏,为私有类型,用来启动Qt元对象系统的一些特有属性。Public是系统自动生成的一个对象,而Private则是我们刚刚新增加的三个属性,分别创造出三个对象。Private Slots是创建一个信号的接受槽。这个槽里面会执行相应的程序。
当然,如果我们直接采用UI界面来进行设计的话,那么系统会自动生成Private,但是private slots这个还是需要我们右击按钮才能添加进来这个接受槽。
(4)在dialog.cpp文件里面,我们特别需要理解几个函数及其表达意思:
首先这个bool ok ,表示的是布尔值(True\False)。QString 也是一个类,定义字符串类。ui->lineEdit-text()表示从框型图中读入文本字符串(如“12.34”),然后通过str.toInt(&ok)来实现字符串str内容转换为整型,成功之后返回True。
(5)信号和槽机制(Signal & Slot)
首先我们需要明确信号和槽机制的连接方式。学习这个机制的目的是为了让两个独立的对象之间能够进行通信。比如让QLineEdit对象输入的文本值能够与QPushButton按钮对象之间进行相关联,进而得到最终的结果。
基本格式如下:
// 信号与槽机制最常见的使用方式
connect(Object1, SIGNAL(signal),Object,SLOT(slot));
其中signal 为Object1的信号,而slot为Object2的槽。
(6)Qt5 对象系统的介绍
【1】QObject是最基本的类,所有使用元对象系统的功能必须继承自QObject。
【2】GUI界面的对象一般是QWidget类产生的对象。
【3】布局管理器对象一般是QGridLayout类产生的对象(网格布局)。
【4】字符串类的对象一般是QString类产生的对象。
【5】容器类:QList类(子类:QItemSelect、QQueue、QSingleSpy、QStringList、QTestEventList)、QLinkedList类、QVector类(QPolygon、QStack)。
(7) Qt5 的控件介绍
【1】Buttons按钮组:PushButton、 ToolButton、RadioButton、CheckBox、CommandLinkButton、ButtonBox
【2】InputWidget输入控件组:ComboBox、TextEdit、SpinBox、TimeEdit、DateEdir、Horizontal Scroll Bar(横向滚动条)、Vertical Scroll Bar(垂直滚动条)、Horizontal Slider(横向滑块)、Vertical Slider(纵向滑块)
【3】显示控件组(DisplayWidget):QLabel等
【4】空间间隔组(Spacers)
【5】布局管理组(Layouts)
【6】容器组(Containers)
【7】项目视图组(Item View)
【8】项目控件组(Item Widget)
未完待续…
Qt5详细入门知识介绍相关推荐
- 第一章 51单片机开发入门知识介绍
第一章 单片机开发入门知识介绍 1.1 51单片机介绍 51单片机是对所有兼容Intel 8031指令系统的单片机的统称. 该系列单片机的始祖是Intel的8004单片机,后来随着Flash rom技 ...
- 领峰贵金属入门知识介绍:这些知识需掌握
现在的投资市场中,投资者还是能看到很多投资产品的存在,尤其是贵金属更是因为有一定的投资优势,因此是成为投资者会选择投资的产品.在进入贵金属市场交易之前,还是需要了解下贵金属入门知识介绍,掌握这些交易知 ...
- Hadoop详细入门知识
Hadoop 第一章 大数据的概述 1.1 大数据的概念 最近几年,IT行业最火的名词中,少不了"大数据"."人工智能"."云计算".&qu ...
- 计算机入门知识介绍、相关原理及软硬件概述
1.计算机原理 现代计算机大部分都是基于冯.诺依曼结构,该结构的核心思想是冯将程序和数据都存放在计算机中,按存储器的存储程序首地址执行程序的第一条指令,然后进行数据的处理计算. 计算机应包括运算器.储 ...
- Sketch Mac入门基础知识——蒙版(Mask)的详细使用方法介绍
在上一篇文章,我们认识了Sketch Mac这款软件,在本文中,我们再来看看Sketch Mac入门基础知识--蒙版(Mask)的详细使用方法介绍,让您更多更好的了解Sketch Mac,为以后使用奠 ...
- 推荐系统[一]:超详细知识介绍,一份完整的入门指南,解答推荐系统相关算法流程、衡量指标和应用,以及如何使用jieba分词库进行相似推荐,业界广告推荐技术最新进展
搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排精排重排混排).系统架构.常见问题.算法项目实战总结.技术细节以及项目实战(含码源) 专栏详细介绍:搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排 ...
- NLP汉语自然语言处理入门基础知识介绍
NLP汉语自然语言处理入门基础知识介绍 自然语言处理定义: 自然语言处理是一门计算机科学.人工智能以及语言学的交叉学科.虽然语言只是人工智能的一部分(人工智能还包括计算机视觉等),但它是非常独特的一部 ...
- 介绍几种初学者学习电脑入门知识的方法
于之前很少接触电脑的人来说,一些关于电脑知识学习入门的基础知识是他们最想学到手的,可是又不知该针对哪方面进行学习,这里为初学者介绍几种学习电脑入门知识的方法,供大家参考. 1 .利用搜索引擎 这是一种 ...
- 数据库入门理论知识介绍以及编译安装MySql
数据库入门理论知识介绍以及编译安装MySql 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 前言: 1.目前90%以上的公司面临的运维的瓶颈都在后端 最常见的2大瓶颈就是: 1&g ...
最新文章
- python应用实战案例:python如何实现异步爬虫?
- 签约 计算机英语,签约协议时的英文表达
- 软件工程心理学之1----开篇
- RHEL6 Tiny Linux 的制作
- 雷达的工作原理示意图_雷达的荧光屏真的相当于蝙蝠的耳朵吗
- EnableQ在线问卷调查引擎在学校教学教评中的作用
- 人人商城小程序用户授权登录失败,getUserProfile小程序登录接口升级
- 键盘侠小心了!微博或将推出“杠精”示众功能
- 3D GAME PROGRAMMING WITH DIRECTX11(3)
- sox处理mp3_sox 转码 amr转MP3
- 7天从代码入门到开发应用,怎样快速提高代码能力?
- 电脑html接口显示器不亮,电脑主机开了显示器没反应无信号及键盘鼠标不亮的解决方法...
- VMware下安装centos6.7的步骤
- DirectShow资料
- 迷你英雄无限服务器没了吗,迷你英雄:无限无法连接服务器是什么原因
- “游方之旅”的纯美爱情
- 半年巨亏10亿,水滴烧钱枯竭硬伤难愈
- Oracle之case when和decode-yellowcong
- 【趣味征文大赛】Python端午节专属玫瑰贺卡制作(玫瑰贺卡)
- Java基于springboot开发的漂亮的个人家乡博客系统有论文