自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

華仔的博客

技术大爆炸

  • 博客(83)
  • 资源 (3)
  • 收藏
  • 关注

原创 Qt Charts入门

一、Qt Charts简介Qt Charts模块提供一组易于使用的图表组件。它使用了Qt的图形视图框架,因此图表可以很容易集成到现代用户界面。Qt 图表可以用作QWidgets,QGraphicsWidget 或者 QML 类型。用户可以通过选择一个图表主题(如柱状图,饼状图,折线图等)轻松地创建令人印象深刻的图表。Qt Charts 模块是在Qt5.7才集成进去的,早些时候的版本不支持这个模块...

2019-05-08 19:57:10 2736 3

原创 MySQL数据库(进阶篇)

1、数据库分页查询关键字:limitlimit m,n :从第m条数据开始查询n条(不包括第m条),将m设置为0,n设置为每一页要显示的记录数就可以实现数据库的分页查询。2、like子句SQL LIKE 子句中使用百分号 %字符来表示任意字符,类似于UNIX或正则表达式中的星号 *。如果没有使用百分号 %, LIKE 子句与等号 = 的效果是一样的。在表tab1中获取name字段中以...

2019-05-01 23:15:57 2885

原创 Qt使用XML设计多级关联菜单

在上一篇博客中,我们介绍了如何生成一个XML文件,今天我们利用生成的XML文件来进行解析并设计出多级关联菜单。在以前的文章 (https://blog.csdn.net/hua12134/article/details/79971120)中解决了如何生成二级菜单,不过之前的方法过于笨重,采用手动添加代码的方式,不仅代码重复率高而且不利于修改(维护)。所以,今天我们换用读XML的方式再次解决这个问题...

2019-04-29 22:08:21 1523 1

原创 Qt设计XML生成器

最近也不知道出于什么样的想法,想自己做一个XML生成器,顾名思义,就是给一些输入,然后输出XML文件。断断续续捣鼓了数天,算是差不多了。基本思路是先获取用户输入生成一棵树,然后根据生成的数形成XML格式的文件。关于树控件编辑器,参考了Qt自带“编辑树窗口部件”,如下图展示。关于写XML文件,本设计采用DOM的方式,DOM 一次性读入整个 XML 文档,在内存中构造为一棵树(被称为 DOM 树...

2019-04-26 00:13:50 2421

转载 使用Qss设置Qt程序界面的样式和皮肤

1         使用Qss设置QT程序界面的样式和皮肤1.1  Qss的功能Qt程序界面中控件的背景图片、大小、字体颜色、字体类型、按钮状态变化等属性可以通过Qss文件来设置,美化UI界面。实现界面和程序的分离,快速切换皮肤。1.2  QSS基本属性设置Qss的强大在于组合功能的强大,这...

2019-04-08 22:28:28 1862

原创 Qt实现TCP通信(QQ聊天,带源码)

一、客户端客户端使用Qt中的QTCPSocket类与服务器进行通信可分为5个步骤:①创建QTcpSocket套接字对象socket = new QTcpSocket();②使用这个对象连接服务器socket->connectToHost(IP, port);③使用write函数向服务器发送数据socket.write(data);④当socket接收缓冲区有新数据到来时,会发...

2019-04-02 23:47:49 2835 1

原创 静态库和动态库的生成和调用

基本概念程序编译一般需经预处理、编译、 汇编和链接几个步骤。在我们的应用中,有一些公共代码是需要反复使用,就把这些代码编译为“库”文件。静态库:在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的 可执行文件中。这种库称为静态库,其特点是 可执行文件中包含了库代码的一份完整拷贝;缺点就是被多次使用就会有多份冗余拷贝。**动态库:**DLL 是一个包含可由多个程序同时使用的代码和数据的库...

2019-03-10 18:47:20 2034

原创 C++函数指针和回调函数

什么是函数指针函数指针就是指向函数的指针,指向某种特定的类型。函数的类型由它的返回类型和形参类型共同决定,与函数名无关,例如:bool lengthCompare(const string &, const string &);该函数类型是bool (const string &, const string &)。如何声明一个指向该函数的指针?只需要用指针...

2019-03-06 23:44:32 3170

原创 C++泛型算法和lambda表达式

C++标准库提供一组算法,这些算法大多独立于任何特定的容器,它们是通用的(泛型的):可用于不同类型的容器和不同类型的元素。大多数的算法都定义在头文件algorithm中。一般情况下,算法并不直接操作容器,而是遍历迭代器指定的元素范围进行操作。这里说明一下尾后迭代器,即指向容器最后一个元素的后面位置的迭代器,所以很多算法遍历时都是[begin,end)的前闭后开形式。许多算法在遍历迭代器时出现错误...

2019-03-05 23:02:52 719

原创 C++实例:map的应用

本实例将展示map的创建、搜索以及遍历。map之外还用到IO操作,文件读写,string流等,实现以下功能:①用一个文件保存一些规则,即一种映射关系,用来转换第二个文件中的文本,每条规则由两部分组成:一个可能出现在输入文件中的单词和一个用来替换它的短语②用另一个文件来保存需要转换的文本③将转换后的文本打印在控制台并用一个文件保存#include <iostream>#incl...

2019-02-27 22:01:48 1032

原创 C++关联容器之map

认识mapmap类型通常被称为关联数组,关联数组与“正常”数组类似,不同之处在于其下标不必是整数。①map是标准的关联式容器,一个map是一个键值对序列,即(key,value)对。它提供基于key的快速检索能力。②map中key值是唯一的。集合中的元素按一定的顺序排列。元素插入过程是按排序规则插入,所以不能指定插入位置。③map的具体实现采用红黑树变体的平衡二叉树的数据结构。在插入操作和...

2019-02-24 15:00:29 294

转载 【转载】云计算、大数据和人工智能

原文:https://blog.csdn.net/qq_40196321/article/details/84922907 今天跟大家讲讲云计算、大数据和人工智能。这三个词现在非常火,并且它们之间好像互相有关系。一般谈云计算的时候会提到大数据、谈人工智能的时候会提大数据、谈人工智能的时候会提云计算……感觉...

2019-01-16 21:28:44 498

原创 Qt实现窗体自适应

Qt实现窗体自适应,让窗口在放大缩小时,控件自动适应窗体大小,使用resizeEvent事件实现。具体步骤如下:1、在头文件中定义成员变量QList<QObject*> m_objList;QMap<QObject*, QRect> m_objMap;同时声明resizeEvent事件public: void resizeEvent(QResizeEv...

2018-12-07 22:25:41 3070 4

原创 Qt实现小球碰撞动画——屏保

说明:本次设计应用Qt完成一个小动画,并且可以同用户进行交互,适合新手学习练手功能描述:小球弹撞动画具有以下功能 1、小球可以沿着一个随机的方向运动 2、运动时可以加减速 3、随时切换小球形状(圆形,正方形,三角形) 4、碰撞到边框时镜像反弹 5、小球的运动轨迹可以实时显示,边框设置为正方形时更容易画出美丽的图案哦 6、美丽的图案还可以使用截屏保存的功能开发环境和工具: wi...

2018-07-29 15:54:41 4243 9

原创 关于Qt在运行.exe 文件时连接不上数据库的问题

本人使用的QT5.8在运行程序时连接MySQL数据库失败,但是在Qt中可以直接运行。所以原因可能是在Windows环境下没有找到该数据库的驱动,解决办法是:将\MySQL\lib”文件夹中的“libmysql.dll”复制到C:\Windows下...

2018-05-25 13:36:16 2524 2

原创 Qt5中文乱码问题解决方案

个人感觉每个人的乱码解决情况不一样,本人乱码时也在网上查询了很多种方法,但是都无济于事。 个人情况:要在Qt的UI界面中的tableView中显示从数据库查询到的信息 本人使用的是QT5.8.0,连接MySQL数据库,主要有两点: 1、将要插入的文本(注意是插入时)从QString换成QByteArray。 eg: 2、在数据库连接时加上两句话:QTextCodec *codec...

2018-04-22 22:57:18 12113 8

原创 QT如何实现二级下拉菜单(Combo box)

在上一篇博文里,我们看到在选择院系之后,只能手动填写班级。而现在我们想要的是:可以根据所选的院系来控制所选的班级。本方法也适合在其他方面使用,比如,选择省份之后可以以此选择该省份下面所属的市。 博主属于QT初学者,想要这个功能,到某度搜了很多,未果,于是,静思,打坐,最终参悟一种方法。首先看一下,在Qt的设计师界面: 我们可以将院系看成一级菜单,班级是二级菜单。在一级菜单我们可以固...

2018-04-17 10:31:05 9435 3

原创 【Qt界面开发项目(3)】学生管理系统

项目说明:本项目实现一个单机版的学生管理系统,暂时没有使用C/S架构以及数据库,实现了以下功能: 1、添加学生,包括:姓名、学号、性别、年龄、学院、班级 2、保存学生信息,以文件形式进行保存 3、查询学生,方式:按姓名、学号院系、班级本人遇到的难点分析: 1. 本项目涉及三个界面,一个主界面以及两个子界面,在界面切换时遇到问题。 2. 单选按钮获取文本 3. Table Vie...

2018-04-15 00:32:47 5060 2

原创 【Qt界面开发项目(2)】定时计数器

本项目主要使用Qt中的两个类,QTime和QTimer。QTime类是一个时间类,显然它是用来获取当前时间;QTimer类是一个定时器类,所谓定时器就是不断的去重复同一件事,首先我们可以查看一下Qt的帮助手册: QTimer类提供了一个循环的并且可以发射信号的类。我们要使用它,就先创建一个QTimer类,连接一个timeout信号和我们自己写的槽函数,并且调用start函数。它将会在指定的时...

2018-04-09 11:09:14 1931 1

原创 【QT界面开发项目(1)】简易计算器

本项目是基于MVC设计模式完成。什么是MVC? 它的全称是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范。感兴趣的可以到百度百科具体了解MVC框架,本人也是初学者,只能说说在Qt中用到这种模式时我的理解。V(view)-视图,我们可以理解为Qt中的.ui文件,它是与用户交互的界面;M(model)-模型,...

2018-04-07 23:55:55 2200 2

原创 C++中关于 虚函数、虚析构、虚继承和虚基类

在很多次面试中,我发现面试官都喜欢问同一个问题:谈谈你对多态的认识。 遇到这个问题,通常我第一句话就是:多态分为静态多态和动态多态,然后静态多态就是balabala动态多态是巴拉巴拉。关于静态多态这里不再赘述。这里先描述一下博主在CVTE面试时遇到的多态问题。面试官要求:你先写一个多态的例子,然后我就飞快的写下了下面的语句:class Animal{public: virtu...

2018-04-01 18:48:28 1019

原创 MySQL数据库(基础篇)

首先说明,MySQL数据库和SQL Server数据库是有区别的,至于有什么区别,此处无解,请自行百度。关系型数据库 MySQL 为关系型数据库, 这种所谓的”关系型”可以理解为”表格”的概念, 一个关系型数据库由一个或数个表格组成, 如图所示的一个表格: 表头(header): 每一列的名称; 列(row): 具有相同数据类型的数据的集合; 行(col): 每一行用来描述某个人/物的具

2018-03-22 23:47:31 310

原创 【Python入门(2)】dict 和 set

dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。举个例子,假设要根据同学的名字查找对应的成绩,如果用list实现,需要两个list:names = ['Michael', 'Bob', 'Tracy']scores = [95, 75, 85]给定一个名字,要...

2018-03-20 14:52:37 221

原创 【Python入门(1)】Python基础

1、听说Python很火 根据TIOBE编程语言社区发布最新的排行榜,Java、C、C ++ 三门编程语言依然占据前三。本月前 5 排名中,最值得注意的是: Python 再次逆袭,已经超越C#,上升到第 4 的位置,不过C/C++第二第三的位置还算比较稳的。足以见证Python的势头,可谓来势汹汹。Python是什么语言 python是一种脚本语言 python是一种面向对象,解释型,...

2018-03-19 18:36:54 391

原创 进程的状态以及僵尸进程和孤儿进程

进程的三种基本状态(1)就绪(Ready)状态 当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。(2)执行(Running)状态当进程已获得处理机,其程序正在处理机上执行,此时的进程状态称为执行状态。(3)阻塞(Blocked)状态正在执行的进程,由于等待某个事件发生而无法执行时,便放弃处理机而处于阻塞状态。引起进程阻塞的事件可有多...

2018-03-17 21:14:04 224

原创 const在C和C++中的区别

C语言中 const修饰的变量是一个 常变量,本质还是变量,有自己的地址空间; C++中 const 变量声明的是一个真正的常量,不是变量,所以编译器不会为该常量分配空间,const 修饰的常量会被放到 符号表 中。看个栗子就明白了: test.c#include <stdio.h>int main(){ const int a = 10; int *p = (int *)

2018-03-05 15:32:49 146

原创 C++知识梳理

1、内联函数—inline 内联函数是指那些定义在类体内的成员函数,即该函数的函数体放在类体内。作用:内联扩展是用来消除函数调用时的时间开销(入栈出栈的开销)。它通常用于频繁执行的函数。一个小内存空间的函数非常受益。在编译时将函数嵌入在每一个调用处,类似宏替换,用函数体替换函数名,但内联不一定成功。在以下情况不适合使用内联函数: 1.递归函数不能定义为内联函数 2.内联函数一般适合于...

2018-03-04 22:54:02 169

原创 引用和指针的区别

指针:指向一块内存,它是值是所指内存的地址。 引用:某块内存的别名区别: 1.引用访问一个变量是直接访问,而指针是间接访问。 2.引用是一个变量的别名,本身不单独分配自己的内存空间;而指针有自己的内存空间。(引用实际上是占用内存空间的) 3.引用只能在定义的时候初始化,之后不可变;而指针可变。(引用“从一而终”,指针“见异思迁”) 4.引用不能为空,指针可以为空。 5.在作size...

2018-03-04 09:42:22 229

原创 写一个函数找出一个整数数组中第二大的数

如果是面试遇到这种类型的题,一定要多考虑一下了,毕竟题目不难,如果直接用排序去解题的话,面试官估计会比较失望了。因为这种类型的题,解法有很多,那么别人当然是希望得到最高效的解法了。试想如果有一万个数,如果用排序解答,是不是就浪费了大量的资源去将那些并不重要的数进行了排序。#include void find(int a[], int len){ int max, second

2018-01-25 23:22:18 5320 1

原创 编程实现输出2的1000次方

#include void func(){ int a[1000] = {0}; //先定义一个数组 int i, j; a[0] = 1; for (i = 0; i 1000; i++) { for (j = 0; j 1000; j++) { a[j] *= 2; //将每个值

2018-01-25 23:13:18 674

原创 单链表插入与倒叙

题目:单链表的建立,把’a’ —’z’ 26个字母插入到链表中,并且倒叙,还要打印。此题解法很多,本篇采用不带头结点的单链表头插法插入,然后正序打印。#include #include #include #define OK 1;#define ERROR -1;typedef char ElemType;typedef struct node{

2018-01-24 22:47:35 471

原创 八大排序

1、直接插入排序 直接插入排序是稳定的排序方法。基本思想: 对于给定的一组记录,初始时假定第一个记录自成一个有序的序列,其余的记录为无序序列;接着从第二个记录开始,按照记录的大小依次将当前处理的记录插入到其之前的有序序列中,直至最后一个记录插入到有序序列为止。 相信大家大家都玩过斗地主,插入排序与打扑克牌时整理手上的牌非常相似。摸来的第一张牌无须整理,此后每次从桌上的牌(无序区)中摸最

2018-01-24 18:00:23 279

原创 [剑指offer]面试题4(替换空格)

题目:请实现一个函数,把字符串中的每个空格替成“%20”。例如输入“we are happy.”,则输出“we%20are%20happy.”。基本思路:先遍历一遍字符串统计字符串中空格的个数并计算出替换之后的字符串的总长度,每替换一个空格,长度增加2,因此替换后字符串的长度对于原来的长度加上空格个数的2倍。如果从头到尾扫描字符串,遇到空格就做替换,必须每次都把空格后面所有的字符都向后移动两个

2018-01-24 13:37:53 229

原创 [剑指offer]面试题3(二维数组中的查找)

题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。基本思路: 首先选取数组中右上角的数字。如果该数字等于要查找的数字,查找过程结束;如果该数字大于要查找的数字,剔除这个数字所在的列;如果该数字小于要查找的数字,剔除这个数字所在的行。也就是说如果要查找的数字不在数组的右上角

2018-01-23 23:15:25 207

原创 [剑指offer]面试题2(实现单例模式)

题目:设计一个类,我们只能生成该类的一个实例。 作用:保证为一个类只生成唯一的实例对象。也就是说,在整个程序空间中,该类只存在一个实例对象关于单例模式,有两种实现方法:饿汉式和懒汉式 饿汉式 优点:加载进程时静态创建单例对象,线程安全 缺点:无论使用与否,总要创建。会造成一定的资源空间浪费懒汉式 优点:用则创建,不用不创建,什么时候用什么时候创建,空间利用率较高 缺点:在多线程...

2018-01-23 21:58:22 331

原创 [剑指offer]面试题1(赋值运算符函数)

题目:如下为类型CMyString的声明,请为该类型添加赋值运算符函数。class CMyString{public: CMyString(char *pData = NULL); CMyString(const CMyString& str); ~CMyString(void);private: char *m_pData;};

2018-01-23 21:43:49 347

转载 C与C++中const和static

转载:c与c++中const和static的不同。static主要有三个作用:(1)局部静态变量 (2)外部静态变量/函数 (3)静态数据成员/成员函数 前两种C和C++都有,第三种仅在C++中有。1、局部变量  static类型局部变量存储在静态存储区,在程序整个运行期间都不释放。  static局部变量在所处模块在初次运行时进行初始化工作,且只操作一次。2、外部静态变量/函数  用来表示不

2018-01-22 12:51:59 187

原创 【C++学习历程10】STL标准模块库

初步理解STL STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。 STL的从广义上讲分为三类:algorithm(算法)、container(容器)和iterator(迭代器),容器和算法通过迭代器可以进行无缝地连接。几乎所有的代码都采 用了模板类和模板函数的方式,这相比于传统的由函数和类组成的库来说提供了更好的代码重用机会。 **优

2018-01-20 13:30:41 264

原创 【C++学习历程9】异常与文件操作

类型转换什么是异常 1)异常是一种程序控制机制,与函数机制独立和互补 函数是一种以栈结构展开的上下函数衔接的程序控制系统,异常是另一种控制结构,它依附于栈结构,却可以同时设置多个异常类型作为网捕条件,从而以类型匹配在栈机制中跳跃回馈. 2)异常设计目的: 栈机制是一种高度节律性控制机制,面向对象编程却要求对象之间有方向、有目的的控制传动,从一开始,异常就是冲着改变程序控制结构,

2018-01-20 00:05:20 340

原创 【C++学习历程8】函数模板和类模板

什么是函数模板 所谓函数模板,实际上是建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表。这个通用函数就称为函数模板。 凡是函数体相同的函数都可以用这个模板来代替,不必定义多个函数,只需在模板中定义一次即可。在调用函数时系统会根据实参的类型来取代模板中的虚拟类型,从而实现了不同函数的功能。定义:template <类型形式参数表>例如:template <typenam

2018-01-19 20:58:06 198

小球碰撞动画(含源码、可执行文件)

小球弹撞动画具有以下功能: 1、小球可以沿着一个随机的方向运动 2、运动时可以加减速 3、随时切换小球形状(圆形,正方形,三角形) 4、碰撞到边框时镜像反弹 5、小球的运动轨迹可以实时显示,边框设置为正方形时更容易画出美丽的图案哦 6、美丽的图案还可以使用截屏保存的功能

2018-07-29

学生管理系统(源码)

利用Qt实现学生管理,对界面化管理系统有一定帮助。。

2018-04-15

Qt界面开发简易计算器

Qt实现简易计算器(源码),可以实现基本的加减乘除以及平方开方和三角函数的计算

2018-04-07

空空如也

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

TA关注的人

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