自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Roninzhz的博客

偶尔回忆回忆,然后生活继续

  • 博客(128)
  • 资源 (2)
  • 收藏
  • 关注

原创 Qt使用QTcpsocket帧解析问题

【代码】Qt使用QTcpsocket帧解析问题。

2024-02-20 17:11:55 295

原创 C++ 设计模式之单例模式

【代码】C++ 设计模式之单例模式。

2023-06-11 19:57:01 219

原创 C++基础之机房预约7

C++基础之机房预约7

2022-12-24 22:25:43 395 1

原创 C++基础之基于STL泛化演讲比赛6

C++基础之基于STL泛化演讲比赛

2022-12-24 22:00:44 205

原创 C++基础之提高5

C++基础之提高5

2022-12-24 21:42:07 446

原创 C++基础之多态的企业职工4

C++基础之多态的企业职工

2022-12-24 21:16:42 100

原创 C++基础之核心3

C++基础之核心

2022-12-24 20:19:40 251

原创 C++基础之类通讯录2

C++类通讯录小程序

2022-12-24 20:09:37 109

原创 c++基础1

c++基础

2022-11-30 17:10:48 267

原创 Qt多线程简单实现Widget

threaddlg.h#ifndef THREADDLG_H#define THREADDLG_H#define MAXSIZE 1 //定义线程数目#include <QDialog>#include <QPushButton>#include "workthread.h"QT_BEGIN_NAMESPACEnamespace Ui { class threaddlg; }QT_END_NAMESPACEclass threaddlg : public

2022-05-09 13:45:39 1602 1

原创 Qt 使用STL风格的迭代器来查找键实现值的修改

// 使用STL风格的迭代器来查找键实现值的修改#include <QCoreApplication>#include <QDebug>int main(int argc, char *argv[]){ QMap<QString,QString> map; map.insert("beijing","111"); map.insert("shanghai","021"); map.insert("jinan","0531");

2022-02-08 15:44:42 185

原创 Qt 使用QMap实现插入、遍历和修改等操作

// 在QMap中的插入、遍历和修改#include <QCoreApplication>#include <QDebug>int main(int argc, char *argv[]){ QMap<QString,QString> map; // 创建一个QMap 栈对象 // map.insert 向栈对象插入<城市,区号>键值对 map.insert("beijing","111"); map.insert(

2022-02-08 15:43:33 6187 1

原创 Qt 使用STL风格的迭代器来进行遍历操作

// 使用STL风格的迭代器来进行遍历操作#include <QDebug>#include <QCoreApplication>int main(int argc, char *argv[]){ QList<int> list; // 创建一个空的列表list // 使用QList<T>::insert()函数插入十个整数值。 // 此函数有两个参数,第一个参数是QList<T>::iterator类型,

2022-02-08 15:42:25 725

原创 Qt 使用QList实现 只读和读写的遍历方法

//QList 只读遍历方法#include <QCoreApplication>// 头文件<QDebug>中已经包含了QList的头文件#include <QDebug>int main(int argc, char *argv[]){ QList<int> list; // 创建一个空的列表list list<<1<<2<<3<<4<<5; // 利用操作运算符

2022-02-08 15:23:52 2349

原创 Qt NULL字符串与Empty字符串的区别

一个NULL字符串一定是一个(Empty)空字符串,而一个(Empty)空字符串未必是一个NULL字符串 Null > Empty

2022-02-08 15:22:33 665

原创 Qt 关于信号与槽连接的问题

信号槽的优点:松散耦合,信号发送端 和 接受端 本身是没有关联的,通过connect连接 将两端 耦合在一起!

2022-02-08 15:21:21 385

原创 Qt 计算圆的面积 的两种方式

第一种 设计界面实现dialog.h#ifndef DIALOG_H#define DIALOG_H#include <QDialog>QT_BEGIN_NAMESPACEnamespace Ui { class Dialog; }QT_END_NAMESPACEclass Dialog : public QDialog{ Q_OBJECTpublic: Dialog(QWidget *parent = nullptr); ~Dialog();

2022-02-07 16:28:48 951

原创 Qt main.cpp文件详解

#include "dialog.h" // 包含了程序中要完成功能的 Dialog 类的定义 // 在 Dialog 类中封装完成所需要的功能#include <QApplication> // Application类的定义 // 在每个使用Qt图形化应用程序中都必须使用一个QApplication对象 // QApplication 管理了各

2022-02-07 16:17:38 2139

原创 U3D关于vs2019 .net Standard 类库添加引用没有Com组件库的问题

改用 .net Framework类库

2022-02-07 15:09:07 555

原创 Qt 关于删除槽定义后编译出错或者定义无效的问题

删除槽定义后,在其头文件的槽声明中也应该移除相应槽声明!

2022-02-07 14:52:37 954

原创 Qt 关于使用类头文件的引用的问题

使用哪个类就必须将包含该类的头文件引用过来!

2022-02-07 14:51:55 498

原创 Qt 关于Qt创建项目后只有.pro文件的问题

在左下角的Debug把套件设置成Destop Qt 5.11.1 MinGW 32bit即可!(鼠标操作即可完成)

2022-02-07 14:51:17 784 1

原创 Qt 关于新版的Qt5中创建GUI应用的问题

在新版的Qt中Qt Widgets Application其实就是GUI应用!!!

2022-02-07 14:50:36 266

原创 MySQL 数据库基础知识

1.什么是数据库? 1.1.Excel 就是一个数据表,人操作 1.2.MySQL是一个数据库,便于程序操作,便于存储百万以上级别的数据 1.3.对于数据库的基本操作 增删改查 1.4.如何对数据库操作 SQL语句 SQL命令 Structured Query Language (SQL) 结构化查询语言 1.4.1.每个命令后 ; 1.4.2.不区分大小写2.关系数据库 2.1.是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据,现实世界中的各种实

2022-01-12 15:37:42 197

原创 Qt 基础知识

1.QT简介 1.1.跨平台图形界面引擎 1.2.历史 1.2.1.1991 奇趣科技 1.3.优点 1.3.1.跨平台 1.3.2.接口简单,容易上手 1.3.3.一定程度上简化内存的回收 1.4.版本 1.4.1.商业版 1.4.2.开源版 1.5.成功案例 1.5.1.Linux桌面环境KDE 1.5.2.谷歌地图 1.5.3.VLC多媒体播放器2.创建第一个Qt程序 2.1.点击创建项目,选择项目路径已经给项目起名称 2.2.名称 不能有中文 不

2022-01-11 16:27:59 343

原创 Qt pro文件的解释

QT += core gui Qt包含的模块 core模块和gui模块greaterThan(QT_MAJOR_VERSION, 4): QT += widgets //大于4版本以上 包含widget模板 兼容低版本TARGET = 01_FirstProject //目标 生成.exe程序的名称TEMPLATE = app //模板 应用程序模板 ApplicationSOURCES += \ //源文件

2022-01-09 09:35:27 214

原创 静态属性和静态方法

/* 我们真正需要的是一个只在创建或删除对象时候才允许访问的计数器。 这个问题必须使用 C++ 的静态属性和静态函数才能完美地得到解决。 C++ 允许我们把一个或多个成员声明为属于某个类,而不是仅属于该类的对象。(就是说这个成员仅能让该类使用)这么做的好处是程序员可以在没有创建任何对象的情况下调用有关的方法。 另外一个好处是能够让有关的数据仍在该类的所有对象间共享。 创建一个静态属性和静态方法: 只需要在它的声明前加上 static 保留字即可 static 是 C/C++ 中很常

2021-11-29 21:35:21 407

原创 C++ 友元关系

/* 友元关系 友元关系是类之间的一种特殊关系, 这种关系不仅允许友元类访问对方的 public 方法和属性, 还允许友元访问对方的 protected 和 private 方法和属性。 声明一个友元关系的语法很简单,只要在类声明里的某个地方 加上一条 friend class ** 就行了。 注:这条语句可以放在任何地方, 放在 public, protected, private 段落里都可以。 题目:”朋友”之妻不可亲 Lovers 类有两个子类:分别为 Boyfrie

2021-11-29 21:08:52 419

原创 C++ 覆盖方法和重载方法

/* 关于从基类继承来的方法和属性的保护: class Pig:public Animal{....} C++不仅允许你对在类里定义的方法和属性实施访问控制, 还允许你控制子类可以访问基类里的那些方法和属性 public: 是在告诉编译器: 继承的方法和属性的访问级别不发生任何改变 public 仍可以被所有代码访问 protected 只能由基类的子类访问 private 只能由基类本身访问 protected: 把基类的访问级别改为protected 如果原来是pu

2021-11-29 20:52:41 340

原创 C++ 访问控制

作为一个基本原则,在设计、定义和使用一个类的时候, 应该让它的每一个组成部分简单到不能再简单 析构器的基本用途是对前面所做的事情进行清理。 尤其是在使用了动态内存的程序里面 析构器至关重要 访问控制 所谓访问控制,就是C++提供了一种用来保护 类里的方法和属性的手段。 保护:对谁都可以调用某个方法和访问某个属性 加上一个限制。如果某个对象试图调用一个它 无权访问的函数,编译器将报错。 访问级别 public 任何代码 protected 这个类和它的子类

2021-11-29 16:52:58 581

原创 C++ 继承机制中的构造器和析构器

/* 在销毁某个对象时,基类的析构器也将被自动调用, 但这些事情编译器会自动替你处理 因为析构器不需要输入参数, 所以根本用不着使用:SuperClassMethod(arguments) 语法 构造器第一执行 与构造器情况相反,基类的析构器 将在子类的最后一条语句执行完毕之后才会被调用 *///example 1 //#include <iostream>//#include <string>//////基类 //class Ani

2021-11-10 15:21:34 1026 1

原创 C++ this指针和类的继承

/* this 特殊指针 排除二义性隐患 继承: 使的程序员可以创建一个类的堆叠层次的结构, 每一个子类均将继承在它基类里定义的方法和属性 基类: 可以派生出其他的类,也称其为父类或超类 子类: 子类是从基类派生出来的类 类的属性:名词 类的方法:动词 语法: class SubClass:public SuperClass{} SubClass 子类 SuperClass·基类 */ #inclu.

2021-10-22 16:19:29 225

原创 C++ 构造器与析构器

/* 构造器: 构造器的名字必须和它所在类的名字一样 系统在创建某个类的实例时会第一时间自动调用 这个类的构造器 构造器永远不会返回任何值 创建构造器,需要先把它的声明添加到类里: class Car{ Car(void); } 注意大小写与类名保持一致。在结束声明之后, 开始定义构造器本身 Car::Car(void) //不用写 void Car::Car(void) { color="White"; engine="V8"; wheel=

2021-10-22 16:17:41 278

原创 C++ 对象

/* 面向过程技术 关注的是对数据进行处理的过程 面向对象技术 关注的是对数据进行怎样的处理 C++允许在类里声明常量,但不允许对它进行赋值 创建静态常量可以进行赋值 对象的内部可以有变量和函数 而结构通常只能由各种变量构成 对象的模型----类 Class class MyFirstClass { }; 注:类名的第一个字母一般采用大写是一种习惯 上的标准,但不是硬性规定 类声明末尾,必须有一个分号; 这一点跟 C++结构情况相同

2021-10-16 16:27:00 249

原创 C++ 联合枚举类型别名

/* 1.联合 联合和结构有很多相似之处 联合也可以容纳多种不同类型的值 但是他每一次只能存储这些值中的某一个 定义 union mima { unsigend birthday; unsigend short ssn; char* pet; }; 新建联合体变量 mima mima_1; 第一次赋值可以 mima_1.birthday = 19881301; 如果再次赋值 mima_1.pet="chao"; 注::: 这个

2021-10-09 09:02:23 180

原创 C++ 传址 传值 传引用

/* C++ 在默认情况下 参数只能以 值 传递的方式给函数 被传递到函数的只是 变量的 值, 永远不会是 变量的本身 取址:获取某个变量的地址 只需要在它的前面加上一个“取地址” & 就可以 注: 如果传过去的是地址,在函数中 必须要通过 “* ”进行解引用 除非你有其他用途 引用传递: 传输地址 不用指针 *///取值 //#include <iostream>//using namespace s

2021-10-08 08:58:59 135

原创 C++ 对象基础——结构

//对象基础___结构/* 结构 structure 是由程序员定义的,由其他变量类型组合而成的数据类型 基本语法 struct name { type varName1; type varName2; }; //注意分号 结构:处理具有多种属性的数据 注:C++对于一个结构所能包含的变量的个数是没有限制的 那些变量通常为给结构成员 可以是任意一种合法的数据类型 */ //鱼油档案 :姓名 身份证 性别#include <io

2021-10-07 10:43:28 114

原创 C++ 指针数组

/* 计算机把数组是以一组连续的内存块保存的 数组名指向数组的基地址就是第一个元素的地址 *///*ptr+1 数组元素的值加1//*(ptr+1) 数组元素的地址加1 #include <iostream>using namespace std;int main(){ int Array[5]={2,6,3,4,5}; int *ptr=Array; cout<<*ptr+1<<endl; cout<<*(pt

2021-10-07 10:17:34 124

原创 C 数组1

//数组//具有相同的数据类型的若干变量//按有序的形式组织起来//这些按序排列的同类数据元素的集合称为数组//在C语言中,数组属于构造数据类型//一个数组可以分解为多个数组元素//这些数组元素可以是基本数据类型或构造类型//因此按数组元素的类型不同//数组又可分为//数值数字、字符数组、指针数组、结构数组等//==============================================================/* 数组:具有相同类型的数据组成的序列,是有序集

2021-10-07 08:45:06 121

原创 C++ 指针

//指针//程序是在硬盘上以文件的形式存在的//但它们的运行却是在计算机的内存中发生的//在C++里,变量类型是根据//他们的自然边界进行对齐的 //对齐问题会因为系统平台的不同而不同//64位系统对应8字节//32位系统对应4字节//变量的索引// 1 通过变量名 // 2 通过地址//取地址操作符 & :获取变量的地址 //1 对齐在计算机底层世界处处皆是//内存对齐,文件对齐//(程序在编译链接后会被分割成一个一个的区块0//而区块在文件和内存

2021-10-06 13:21:44 69

自用C二选择填空设计.zip

C爱好者

2021-09-25

Calculator.zip

c#窗体应用仿windows计算器,从简单的加减乘除到一些复杂的连加连减还有M+、M-等等,一些功能的简单实现

2020-07-29

空空如也

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

TA关注的人

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