自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

上帝之子

一起学习,一起进步!

  • 博客(17)
  • 收藏
  • 关注

原创 博客已转至 51CTO

CSDN上已不再更新博客,已转战至 51CTO 博客。博客新址:上帝之子

2018-12-20 13:47:52 241

原创 QT之消息对话框

        我们会经常见到一些标准对话框,Qt 也为开发者提供了一些可复用的对话框类型。       Qt 提供的可复用对话框全部继 QDialog 类,关系如下图所示: Qt 中的标准对话框遵循相同的使用方式,大概流程如下:         那么我们的消息对话框是应用程序中最常见的界面元素,主要用于:1、为用户提示重要信息;2、强制用户进行操作选择。如我们平时所见的画图时的对话框,如下: ...

2018-04-01 22:17:30 3534

原创 QT之创建登录对话框

        之前我们介绍了对话框的相关知识,那么今天我们就来创建一个登录对话框,包含用户名和密码的这么一个可复用的模板。         需求分析:登录对话框是应用程序中的常用部件。可复用软件部件,获取用户名和密码。最终我们将要做成如下所示的界面:         登录对话框的设计与架构关系如图所示:     我们 Widget 的头文件和 .cpp 文件实现如下所示:            ...

2018-04-01 11:34:10 1083

原创 QT之对话框

    我们在平时的软件设计中,难免会遇到对话框,那么我们今天就来看看 Qt 中的对话框。    对话框是与用户进行简短交互的顶层窗口,QDialog 是 Qt 中所有对话框窗口的基类。QDialog 继承于 QWidget 是一种容器类型的组件。关系入下图所示:     QDialog 的意义:1、QDialog 作为一种专用的交互窗口而存在;2、QDialog 不能作为子部件嵌入其它容器中;3...

2018-03-30 00:56:34 279

原创 QT之对象父子关系

        QT对象间可以存在父子关系:     1、每一个对象都保存有它所有子对象的指针     2、每一个对象都有一个指向其父对象的指针 其关系如下图所示:    当指定QT对象的父对象时,其父对象会在子对象链中表中会加入该对象的指针,该对象会保存指向其父对象的指针。    我们在QT中创建了3个 QObject 对象,我们让 c1、c2 的父对象指向 p,那么我们打印 c1 和 c2 的...

2018-03-29 00:34:13 1567

原创 QT之界面与业务逻辑的分离

        我们在实现计算器的时候,得考虑到界面与逻辑的分离。       那么基本程序的架构一般包含:1、用户界面模块(UI),用来接受用户输入及呈现数据;2、业务逻辑模块(Business Logic),根据用户需求处理数据。 基本的设计原则是:功能模块之间需要进行解耦;核心思想是强内聚,弱耦合:1. 每个模块应该只实现单一的功能;2. 模块内部的子模块只为整体的单一功能而存在;3. 模块...

2018-03-26 22:20:11 11503

原创 QT之计算器解析算法下

    上篇博客我们已经将中缀表达式正确的转换为后缀表达式了。    那么后缀表达式是如何进行计算的呢?这时就需要比那里后缀表达式中的数字和运算符了。如果当前元素为运算符:1. 从栈中弹出右操作数;2. 从栈中弹出左操作数;3. 根据符号进行运算;4. 将运算结果压入栈中。当遍历结束时,再将栈中的唯一数字为运算结果。    用伪码描述出来就是:      我们在这块得考虑到数学运算中的除法(除0)...

2018-03-25 14:38:03 577

原创 QT之计算器核心解析算法

        上节我们说到计算机默认的是后缀表达式,那么中缀表达式转后缀表达式的过程就类似于编译过程。必须得注意这么几个问题:四则运算表达式中的括号必须匹配;根据运算符优先级进行转换;转换后的表达式中没有括号;转换后可以顺序计算出最终结果。 下来我们就讲下具体的转换过程: 1、当前元素 e 为数字:输出 2、当前元素 e 为运算符时: 1. 与栈顶运算符进行优先级比较;2.小于等于时将栈顶元...

2018-03-21 23:19:27 506

原创 QT之计算器对四则运算表达式的解析

前面我们已经关于计算器介绍的已经够多了,那么它现在还是没有具备计算的功能。 今天我们来继续讲解计算器的解析算法,那么对于一个四则运算表达式,它是如何读懂的呢?比如:“+9.11 + ( -3 - 1 ) * -5 ”; 人类习惯的数学表达式叫做中缀表达式,还有一种将运算符放在数字后面的后缀表达式,比如:5 + 3 ==> 5 3 +; 1 + 2 * 3 ==> 1 2 3 * ...

2018-03-19 22:45:52 2280

原创 QT之字符串类

        前面我们讲解了开发计算器的信号处理机制,接下来我们来讲讲关于字符串显示的问题。        我们都知道  C 语言不支持真正意义上的字符串;C 语言是用字符数组和一组函数来实现字符串操作的;C 语言不支持自定义类型,因此我们无法获得字符串类型。        从 C 到 C++ 的进化过程引入了自定义类型,在 C++ 中可以通过类完成字符串类型的定义。C++ 中的STL标准库又是...

2018-03-18 19:02:39 359

原创 QT之消息处理

       那么我们之前学习了计算器的界面制作,但是只是实现了一个计算器的界面,还不具有计算器的功能。       接下来我们就要学习在QT中如何进行消息的处理,比如你按下1键之后,QT会如何处理这个信号。QT封装了具体操作系统的消息机制,同时它遵循经典的 GUI 消息驱动事件模型。       QT中定义了与系统消息相关的概念,接下来我们将介绍3个概念:     1、信号(signal):由操...

2018-03-18 18:53:31 1232

原创 QT之计算器代码重构

        首先我们来讲讲为什么要进行代码重构?在一些大的项目中,代码重构是一个必不可少的步骤。因为项目大了,代码也就多了,后期的维护将会很难,所以我们要适当的进行代码重构,让代码的可复用性提高,使软件的设计和架构更加合理。       代码实现和代码重构有什么不同呢?代码实现的重点是功能的实现,而代码重构则是在实现功能的基础上进行再次优化,以提高代码质量。        那么什么样的代码需要...

2018-03-18 18:38:00 329

原创 QT之创建计算器

       上篇博客说我们要创建一个计算器,那么下面我们来创建一个计算器的界面,这节只是简单的开发一个计算器的界面。实现的是一个文本框只能显示,不能输入的,界面大小固定的计算器。那么在开发之前,我们的的QT知识还有所欠缺,对于文本框的显示,我们没有相关的知识,我们就先学习下 QLineEdit 组件。        QLineEdit 用于接收用户输入;QLineEdit 能够获取用户输入的字符...

2018-03-18 18:30:56 398

原创 QT之坐标系统

    GUI操作系统都有其特定的坐标系统;我们本节要在坐标系统中进行窗口和部件的定位,定位类型分为3种:        1、顶级窗口部件的定位 2、窗口内部件的定位 3、窗口部件的大小设置    Qt 使用同一的坐标系统定位窗口部件的位置和大小;Qt 部件类提供成员函数在坐标系统中进行定位;QWidget 类提供了窗口部件所需的坐标系统成员函数。 QWidget 类中的坐标系统成员函数,如图: ...

2018-03-18 18:22:19 280

原创 QT之窗口部件及窗口类型

今天我们来继续学习QT的相关知识,本文的内容是介绍QT的窗口部件及窗口类型。 先说下窗口组件,图形用户界面由不同的窗口和窗口组件构成,一般是在<QtGui>中包含,对应Qt中的GUI模块;Qt以组件对象的方式构建图形用户界面;组件的类型分为两种:1、容器类(父组件),用于包含其他的界面组件。2、功能类(子组件),这个是用于实现特定的交互功能。 **Qt中没有父组件的顶级组件叫做窗口!...

2018-03-17 18:11:06 4434

原创 QT Creator工程简介

我们在学习QT教程之前,有必要来了解一下QT Creator,因为它和QT是不可分割的,学习了它的基本用法,有助于我们以后QT的学习。好了,废话不多说,我们直接开始吧。 QT Creator 以工程项目的方式对源码进行管理,那么QT Creator里面都有什么东西呢? 它的里面包含有不同类型的文件: 1、.pro 项目描述文件 这个里面就包含了一些描述项目的信息,我们在后面进行介绍。其实它...

2018-03-17 17:59:31 1079

原创 QT之启程

今天开始学习QT了。我们怀着无比激动的心情,用一个源文件(main.cpp)开始搭建QT的相关环境。先是在QT command编译器中输入qmake -project,生成4.pro文件。接着执行qmake,生成好多文件,但主要是makefile文件。最后执行make,但是没有我们想要的 .exe 可执行程序生成     博主百度了一下这个问题,由于博主的QT5.8是直接安装的,并没有设置环境...

2018-03-17 17:55:33 187

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除