自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 套接字以及相关函数

PF_IPX IPX Novell协议族。PF_LOCAL 本地通信的UNIX协议族。protocol 计算机间通信中使用的协议信息。protocol 计算机间通信中使用的协议信息。PF_PACKET 底层套接字的协议族。domain 套接字中使用的协议族信息。domain 套接字中使用的协议族信息。SOCK_STREAM 面向连接套接字。SOCK_DGRAM 面向消息套接字。失败:返回 INVALID_SOCKET。

2024-04-27 23:07:43 219

原创 计算机网络知识点

网络层 物理层。应用层 应用层 应用层。表示层 运输层 运输层。会话层 网际层 网络层。运输层 网络接口层 数据链路层。运输层协议 TCP UDP。

2024-04-27 01:10:24 103

原创 QT雷达扫描图

/画扇形**********************************************************//绘制圆形********************************************************//锥形渐变 起始角度为 startrecv *********************************painter.drawPie(pieRect,-startrecv*16,36*16)//画扇形。//绘制矩形,将界面全部涂黑。

2024-04-25 17:16:45 269 2

原创 c++常用基础知识八股

一,指针和数组的区别 1,数组指的是一块连续的内存,存放元素类型都相同, 指针是一个变量,保存了一块内存地址。 2,长度不同,用sizeof计算数组,计算的是这块连续内存的长度。 3,赋值方式,数组和数组之间不能直接赋值,指针可以直接赋值。 4,指针可修改,数组不行,例如 str:指针变量; ch[16]:数组 str++ 正确; ch++ 错误;

2024-03-20 17:44:09 88

原创 Qt Excel文件读写

QAxObject是Qt框架中用于与ActiveX控件和COM对象进行交互的类。它使得在Qt应用程序中嵌入和使用ActiveX控件,或者操作COM对象成为可能。通过QAxObject,你可以在Qt中方便地操作Excel、Word等Office应用程序,以及许多其他支持ActiveX或COM技术的应用程序。

2024-03-18 18:43:26 2010

原创 设计模式——抽象工厂模式

2024-03-15 16:15:48 86

原创 设计模式之——简单工厂模式

在不同的操作系统下,UI组件外观或许略有不同,但其功能保持一致。Windows系统中的按钮。在Linux系统中仍是按钮,如果用工厂方法,就不需要为每种操作系统重写对话框逻辑。3,创建者(Concrete Creators)将会重写基础工厂方法,使其返回不同类型的产品。2,具体产品(Concrete Products)是产品接口的不同实现。1,产品(Product) 将会对接口进行声明。上图为简单工厂模式的架构图。

2024-03-07 11:29:44 485

原创 Qt 样式表

Qt样式表可以在帮助文档中搜索 "在帮助文档中可更详细的查阅相关资料。通常情况下我们需要知道样式表中的各个样式,需要我们查阅官方文档的相关资料;可以在帮助文档中搜索。

2024-03-04 17:01:11 638

原创 Qt常用事件

鼠标进入/离开事件:鼠标按下,移动,释放事件:

2024-02-22 14:28:24 84

原创 QT对话框整合

模态对话框:模态对话框就是在没有关闭它之前,不能再与同一个应用程序的其他窗口进行交互。非模态对话框:既可以与它交互,也可以与同一程序中的其他窗口交互。模态对话框需要用 exec()函数来显示。非模态对话框需要用 show()函数来显示。【模态显示示例】Dialog* dil = nullptr;dil = new Dialog(this);dil->exec();

2024-02-21 16:14:03 121

原创 C++简易二叉树的创建与遍历

#include<iostream>#include<string>using namespace std;//二叉树节点typedef struct BINARYNODE{ char ch; struct BINARYNODE* lchild; //左子树 struct BINARYNODE* rchild; //右子树}BinaryNode;//递归遍历void Recursion(BinaryNode* root){ if(roo

2024-02-21 14:09:33 308

原创 Model / View结构

红色部分是可以直接使用的。

2024-02-19 18:05:20 303

原创 QListWidget组件功能

QListView::IconMode 是图标模式。QListView::ViewMode是一个枚举,两个取值。其中:QListView::ListMode 是列表模式。两种显示模式:列表模式,图标模式。

2024-02-11 00:04:37 236

原创 QT时间日期与定时器

QDateTime: 表示日期时间 如 2017-03-23 08:12:43。QTime: 时间数据类型,仅表示时间,如 15:23:13。QDate: 日期数据类型,仅表示日期,如 2017-4-5。

2024-02-07 11:11:29 938

原创 字符串与数值之间的转换

4.2 count(),size(),length() 返回字符串的字符个数。

2024-02-06 17:26:39 278

原创 Qt Charts基础

chart->setTitle("简单函数曲线");series->setName("实验曲线");//序列添加数值 ********在.cpp或者.h文件中添加头文件。

2024-01-16 17:14:09 371

原创 c++第二章 文件读写

/**************** 写入文件 ****************//**************** 读取文件 ****************//打开一个文件,如果文件已经存在,销毁重新创建。

2024-01-10 23:57:57 322

原创 Qt 用XML流,QXmlStreamReader解析读取xml

QXmlStreamReader是应用程序代码自身来驱动循环,在需要的时候可以从读取器中一个接一个地拉出记号。然后使用 isStartElement() 和 text()等函数来判断这个记号是否包含需要的信息。//如果没有读到文档结尾,而且没有出现错误。//读取下一个记号,它返回记号的类型。//下面根据记号的类型来进行不同的输出。//设置文件,这时会将流设置为初始状态。//文本,判断文本是否为空。//判断读取是否有错误。/*xml版本号*//判断是 /否由属性。

2024-01-09 15:55:47 1295

原创 Qt QTreeWidget

herol

2024-01-09 13:34:19 347

原创 c++ 第一章 第一节 数据类型

pow(a,b)函数用来计算 a的b次方。是在cmath库中。

2024-01-08 23:46:03 309

原创 c++引言,第零章 c++开发周期

源代码---------------------->修改源代码------->编译器----------->机器代码-------------------->可执行代码-------->运行可执行代码。我们必须首先创建程序,编译它,然后才能执行。就是提供了集成开发环境,以便进行c++程序快速开发的软件。常用的IDE有微软的 Visual C++、

2024-01-08 23:25:53 318

原创 Qt 绘图大全

/************ QPen 使 用 ************************************************************QPen用于绘图时对线条进行设置,主要包括线宽,颜色,线型等,//函数原型void setColor(QColor &color) //设置画笔颜色,即线条颜色。void setWidth(int width) //设置线条宽度。

2024-01-05 17:24:44 766 1

原创 c++ 回调函数

定义:如果一个函数的名字被当作参数使用,那么这个函数就是回调函数!//通过指针变量p调用MyAdd函数。//通过指针变量p调用MyAdd函数。//设计一个算法,操作上面的函数。

2024-01-03 22:27:21 335 1

原创 Qt Dom操作xml读操作。

常用函数功能介绍:

2024-01-03 17:00:41 313 1

原创 Qt Dom操作xml文件写操作

Dom写入xml文件操作,首先在 .pro 文件中添加以下代码:然后才开始编辑:先解决Qt中文乱码问题:加入以下代码。添加头文件:1 , 首先使用QDomDocument类在内存中生成一棵DOM树,然后添加xml声明2 , 声明添加后,开始添加节点和元素 先将根节点(root)添加到doc树中,然后将子节点和元素,放在根节点下, 也就是说,最后只需要将根(root)节点添加到树中即可。 先添加根节点: 3 , 添加子节点和元素: 4 ,添加各节点文本内

2024-01-03 14:23:31 316 1

原创 Qt绘制,文本,抗锯齿,平移旋转缩放

painter.drawText(50,259,"start");painter.setRenderHint(QPainter::Antialiasing , true);painter.translate(50 , 50);painter.scale(0.7 , 0.7);

2023-12-28 18:55:32 424 1

原创 Qt绘图 圆,椭圆,圆弧,路径

QPainter painter(this); QPen pen; //创建画笔 pen.setBrush(Qt::red); pen.setWidth(10); //宽度 pen.setStyle(Qt::SolidLine); //画笔风格 pen.setCapStyle(Qt::FlatCap); //画笔端点风格 pen.setJoinStyle(Qt::BevelJoin); //画笔连接风格 painter.setPen(pen);

2023-12-27 17:50:28 524 1

原创 QPainter Qt绘图,pen

【例】: QPen pen; pen.setBrush(Qt::red) //设置画刷颜色 pen.setWidth(10); //设置宽度 pen.setStyle(Qt::SolidLine); //设置画笔风格 pen.setCapStyle(Qt::FlatCap); //画笔端点风格 pen.setJ

2023-12-26 15:51:47 32 1

原创 QPainter Qt 绘图基础点,线,矩形

首先我们需要创建一个绘图事件函数然后设置一个画家QPainter painter(this);画点:首先设置点的数量和坐标:QPoint points[4] = { QPoint(10,80), QPoint(20,10), QPoint(80,30), QPoint(90,70), };开始画点:painter.drawPoints(points,4);绘制线:painter.drawLine(points[0],points[2]);接下来是循环绘制,循环绘制的特点在于,要移动一个已

2023-12-25 17:56:37 160

原创 c++多态

编译时多态(静态多态):函数重载,运算符重载,重定义。运行时多态(动态多态):虚函数。在c++中,当通过基类指针(或引用)请求调用虚函数时,c++程序会在运行过程中正确地选择与对象关联的派生类中重定义的虚函数。虚函数的定义和使用: virtual double area();1 , 在派生类中重定义的虚函数函数签名必须与基类完全一致,而关键字virtual可以省略。2 , 虚函数不能是友元函数或静态成员函数。3 , 构造函数不能是虚函数,而析构函数可以是虚函数。4 , 基类的

2023-12-23 01:21:13 19 1

原创 Qt 事件过滤器

事件过滤器是QObject提供的一种处理事件的方法。它将一个对象的事件委托给另一个对象来监视并处理。本文会介绍一个示例,本示例中,窗口是两个标签的事件过滤器,监视和处理两个标签的事件。我们可以将委托的对象称之为甲方对象,将被委托的对象称之为乙方对象。甲方对象将涉及到自己的事件委托给乙方对象来实现,其中,甲方对象调用installEventFilter(QObject *filterObj );里面的参数为乙方。【例子】:我在界面上放一个Label,将Label相关事件委托给主界面类

2023-12-22 16:53:21 166

原创 Qt 事件基础以及事件封装信号

l。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2023-12-22 15:22:02 210

原创 类的继承概念

私有成员,保护成员,公有成员,表示基类成员在派生类中访问控制属性变化情况。不可访问、可访问,表示在派生类中访问基类的能力。

2023-12-17 23:47:05 28 1

原创 c++基础概念,类

private数据只能在类内访问; protected可在类内以及子类/派生类中访问,类外不可访问; public:可在类外访问; 定义类时,系统不为其分配内存空间; 必须定义一个对象或者new一个对象; 才为其分配空间;​​​​​​当一个类定义一个对象时,每个对象内部都存储各自的成员变量,但是对象内部不存储成员函数,成员函数存储在代码区,

2023-12-12 23:14:17 30

原创 c++多线程入门

如上图所示,程序崩溃其主要原因在于,main函数为主线程,在main中创建 th1 为子线程,创建出子线程之后,两个函数程序分开运行,会出现一种状况,那就是,主线程,也就是main函数运行结束,但子线程运行未结束,则会出现上图中的报错以及系统崩溃的情况。要创建线程,我们需要一个可调用的函数对象,作为线程的入口点,在C++11中,我们可以使用函数指针,函数对象或者lambda表达式来实现。join() 函数,的作用在于,它要等到子线程运行结束后,在结束,可以说是一种阻塞等待。分离线程,子线程会和主线程分离,

2023-12-10 23:54:57 24 1

原创 c++多线程入门

如上图所示,程序崩溃其主要原因在于,main函数为主线程,在main中创建 th1 为子线程,创建出子线程之后,两个函数程序分开运行,会出现一种状况,那就是,主线程,也就是main函数运行结束,但子线程运行未结束,则会出现上图中的报错以及系统崩溃的情况。要创建线程,我们需要一个可调用的函数对象,作为线程的入口点,在C++11中,我们可以使用函数指针,函数对象或者lambda表达式来实现。join() 函数,的作用在于,它要等到子线程运行结束后,在结束,可以说是一种阻塞等待。分离线程,子线程会和主线程分离,

2023-12-10 23:47:16 13 1

原创 c++ 简易线程池

1,首先,创建一个继承的子类的任务对象 MyTask task12,然后将task1添加到任务队列当中 AddTask(task1); list m_task.push_back(task1); 然后发射条件变量进行通知, cv.notify_one();1.1 初始化线程池 Init();1.2 开启线程池, 1.2.1 先new一个新的thread,new的时候就已经调用Run()了 1.2.3

2023-12-07 01:15:55 25 2

原创 QT小练习,将QTableView中的表格内容加载到文件上

此联系需要我们熟练掌握QTableView以及QTabelModel的运用,QFile的运用,此案例做一个简单的将表格内容储存到txt文件中的功能,加在功能之后会加。首先我们需要制作一个表格,制作表格的方法在之前的博客上有,如上图所示。当我们点击“保存文件”按钮时,表格中的数据将会保存到txt文件中。功能实现的步骤:1,创建并打开文件运用QFile相关知识,创建并打开文件。2,获取表格信息并写入文件 2.1,获取表头文字 for(int i = 0;i<m_model->columnCo

2023-12-06 00:20:33 43 1

原创 QT文件读写,QFile和QTextStream文件读写

QFile文件读写步骤:1 . 调用QFile构造函数,传入一个字符串参数,此字符串参数为文件的名字。 QString filename = "E:\Text1.txt"; //要写入或读取的文件名 QFile afile(filename);2 . 调用QFile::open()函数来打开文件,顺便判断打开是否成功。 if( !afile.open(QIODevice::WriteOnly | QIODevice::Text) ) {

2023-12-02 16:32:45 124

原创 QTableView和QStandardItemModel模型的简单使用

QTableView为界面中的表格控价类,它需要和不同的模型相互配合使用,本文只讲述最最基本的QStandardItemModel模型。 本文章讲述三个功能的实现,开始刷新数据,停止刷新数据,清空表格数据。.h文件.cpp文件

2023-12-02 14:57:08 39 1

空空如也

空空如也

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

TA关注的人

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