自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (1)
  • 收藏
  • 关注

原创 Qt_修改文件Qt程序依然没有变化或者修改ui文件中的控件无变化

在qtCreator的构建概要中有一个shadow build的勾选框,默认是勾选的,此时构建目录是可以修改的。而如果把勾选去掉,则构建目录自动变为项目的目录,且不能够修改。

2021-03-10 08:38:08 1428

原创 Qt_关于ui_XXX.h文件:

ui_widget.h 是对 widget.ui 文件编译后自动生成的,widget.ui 又是通过 UI 设计器可视化设计生成的。所以,对 ui_widget.h 手工进行修改没有什么意义,所有涉及界面的修改都应该直接在UI 设计器里进行。所以,ui_widget.h 也没有必要添加到项目里。ui_ *.h 是在对 .ui 文件编译后生成的一个文件,ui_ * .h 会出现在编译后的目录下,或与 * . ui 同目录(与项目的 shadow build 编译设置有关,与.pro文件中的UI_DIR=

2021-03-09 23:52:15 2517

原创 Qt_如何关联头文件、源文件和ui文件?

1.头文件与源文件首先头文件和源文件就不多说了,头文件放声明,源文件放定义。2.关于ui文件:我们知道在新建项目的时候,可以选择添加*.ui和不添加两种。当添加上ui 文件的时候,我们可以利用designer来添加控件,直观上看到界面的布局,控件的外观如果没有添加ui文件,那么久只能用代码生成。所以,托控件就是在使用Qtdesigner,必须有.ui文件,否则没有ui文件就只能自定义控件了,用代码完成。而且使用.ui文件的话,这源文件中会出现#include “ui_XX.h”,用于关联类与ui文

2021-03-09 23:50:31 1876

原创 Qt_界面之间如何联系

可以创建一个Qt的设计师界面类,头文件、源文件以及.ui文件都有,如何关联?显然创建一个头文件时就会创建一个类(该界面的类,是自定义的但肯定继承QMainWindow之类的),那么,关联不就是让该类对象变成其他类的成员变量。有点像使用某些控件一样。...

2021-03-09 23:46:23 287

原创 Qt_ui指针

首先看ui指针的定义:在mainwindow.h中private: Ui::MainWindow *ui;Ui又是什么?同在mainwindow.hnamespace Ui {class MainWindow;}本体是ui_mainwindow.h中:namespace Ui { class MainWindow: public Ui_MainWindow {};} // namespace Ui也就是说Ui域中的MainWindow是完全继承自类Ui_MainW

2021-03-09 23:39:22 965

原创 Qt_Qt报错multiple target patterns

去看看pro文件中的路径是否有问题

2021-03-09 23:29:35 1426 4

原创 Qt_Qt报错No rule to make target

第一种情况:Qt编译工程时候,所有用到的源文件包括头文件和库文件的,总路径长度不能超过190个左右字符,一旦超过,就会提示找不到那个文件,这个可能是Qt的makefile的机制问题。解决方法:工程文件夹名字命名尽量比较短,而且工程目录文件夹层次不要太深,反正用到的文件总的路径名字字符数不能超过190。所以在建立qt工程的时候,最好是工程路径比较短,而且所使用到的库文件路径也一样较短,编译没有提示错误证明符合要求。第二种情况:资源文件删除造成的错误。资源文件 resource.qrc 已经编译生成,在

2021-03-09 23:27:16 2323 1

原创 Qt_shadow build

就是构建生成的目录和源代码目录分开,比如工程目录叫test,则编译器自动生成一个test-build-desktop目录存放所有编译过程中生成的文件。当然与之类似的还有在pro文件中添加:MOC_DIR = temp/mocRCC_DIR = temp/rccUI_DIR = temp/uiOBJECTS_DIR = temp/obj这样,编译时生成的临时文件就按不同类型分类放到项目下的temp文件夹中了。...

2021-03-09 23:25:31 496

原创 Qt_Qt报错Multiple definition

可能在pro文件中重复添加了某个文件,也有可能是定义时出现重复。可以在Qt中先搜索关键字,查看是否出现重复。一般出现在拷贝代码或者控件时出现,使用Qt搜索试试。

2021-03-09 23:16:17 277

原创 Qt_信号与槽

1.信号与槽基本理解信号(Signal)就是在特定情况下被发射的事件槽(Slot)就是对信号响应的函数。槽就是一个函数connect() 是 QObject 类的一个静态函数,而 QObject 是所有 Qt 类的基类,在实际调用时可以忽略前面的限定符,所以可以直接写为:connect(sender, SIGNAL(signal()), receiver, SLOT(slot()));其中,sender 是发射信号的对象的名称,signal() 是信号名称。信号可以看做是特殊的函数,需要带括号,

2021-03-08 23:57:07 1490

原创 Qt_自定义控件

1.自定义控件的步骤一般先在类的私有属性中添加控件对象,然后在该类的构造函数中添加布局、connect函数等。2.控件的一些常用函数setParent(&对象名); 因为Qt所有控件都是基于父子关系,如果想要某个让某个控件位于某个窗口上,那必须设置成父子关系,该函数就是如此setText(“string”);设置对话框名称,比如按键上的名称,确认?退出?等等move(100,100);设置相对位置setStyleSheet 设置图形界面的外观实例:class MainWindow :

2021-03-08 22:46:36 182

原创 Qt_QMainWindow、QWidget、Qdialog

QMainWindow是带菜单栏之类的是一个窗口,而QWidget则更像一个页面,没有菜单栏之类的。最后Qdialog则是对话框。(个人理解)补充:下图是一些基本模块

2021-03-08 22:41:17 85

原创 操作系统笔记八(设备管理)

1.广义的IO设备2.IO设备的缓冲区3.SPOOLing技术

2021-02-10 23:01:21 74

原创 操作系统笔记七(Linux文件操作与文件系统)

1.Linux的文件基本操作1.1Linux目录Linux也有一个目录树,如下图:绝对路径:是从盘符开始的路径,形如C:\windows\system32\cmd.exe相对路径:是从当前路径开始的路径,假如当前路径为C:\windows要描述上述路径,只需输入system32\cmd.exe1.2Linux文件常用操作(1)目录管理命令——ls:列出指定目录下的内容格式:ls [OPTION]… [FILE]…   -a:显示所有文件包括隐藏文件   -A:显示除.和…之外的所有文件

2021-02-10 22:33:29 144

原创 操作系统笔记六(文件管理)

1.文件逻辑结构1.1逻辑结构的文件类型分类:有结构文件:例如:PNG文件无结构文件:1.2顺序文件1.3索引文件2.辅存的存储空间分配2.1分配方式连续分配直接分配连续的存储空间。链接分配隐式链接:在盘块内指定下一个盘块的位置,就像单链表一样,所以随机访问效率低,可靠性较差,任一链接出问题就会影响整个文件。显示连接:有个索引表(FAT),表中记录物理块和下一个块位置。不支持高效的直接存储。而且表会占用较大空间。索引分配特点:2.2辅存空间管理空闲表:

2021-02-10 21:46:37 79

原创 操作系统笔记五(Linux存储管理)

1.Buddy内存管理算法内部碎片就是已经被分配出去(能明确指出属于哪个进程)却不能被利用的内存空间;外部碎片指的是还没有被分配出去(不属于任何进程),但由于太小了无法分配给申请内存空间的新进程的内存空闲区域。目的:努力让内存分配与相邻内存合并能够快速进行。解决外部碎片问题,效率高(二进制)。原则:向上取整为2的幂大小。伙伴系统:“伙伴”指的内存的”伙伴“,一片连续内存的伙伴是相邻的另一片一样大小的连续内存。算法:创建一系列的空闲块链表,每个链表都是2的幂大小。分配内存回收内存2.Li

2021-02-10 21:11:11 102

原创 操作系统笔记四(存储管理:内存分配与回收、段页式存储管理、虚拟内存)

1.存储管理存储管理需要完成三件事确保计算机有足够的内存处理数据确保程序可以从可用内存中获取一部分内存使用确保程序可以归还使用后的内存以供其他程序使用2.内存分配与回收(从物理角度进行存储管理)2.1内存分配的方式其一:单一连续分配单一连续分配是最简单的分配方式,只能在单用户、单进程的操作系统中使用。其二:固定分区分配固定分区分配是支持多道程序的最简单存储分配方式,内存空间被划分为若干固定大小的区域,每个分区只提供给一个程序使用,互不干扰。其三:动态分区分配动态分区分配是根据进程实际

2021-02-10 20:37:32 1780

原创 操作系统笔记三(Linux进程管理)

1.进程的类型前台进程、后台进程、守护进程(特殊的后台进程)前台进程:具有终端,可以和用户交互的进程。后台进程:与前台进程相对,没有占用终端的就是后台进程。后台程序基本上不和用户交互,优先级比前台进程低。(将需要执行的命令以“&”符号结束就是执行的后台进程)守护进程:是一种特殊的后台进程,很多守护进程在系统引导的时候启动,一直运行到系统关闭,Linux有很多典型的守护进程。进程名字以“d”结尾的一般都是守护进程。像httpd等2.进程的标记2.1进程ID进程ID:是进程的唯一标记,每个

2021-02-08 21:08:58 92

原创 操作系统笔记二(进程管理:进程实体、进程状态、进程同步、进程调度、死锁)

1.进程基本概念进程是系统进行资源分配和调度的基本单位。进程作为程序独立运行的载体保障程序正常执行。进程的存在使得操作系统资源的利用率大幅提升。2.进程的实体2.1主存中的进程形态在主存中进程是一段连续的存储空间,我们把这段空间称为进程控制块。进程控制块里面包含了:标识符、状态、优先级、程序计数器、内存指针、上下文数据、IO状态信息、记账信息等等。标识符:唯一标记一个进程,用于区别其他进程。状态:标记进程的进程状态,如:运行态。程序计数器:进程即将被执行的下一条指令的地址。内存指针:程序

2021-02-08 19:49:24 738

原创 操作系统笔记一(操作系统概述)

1.操作系统概述1.1操作系统是什么?操作系统是管理计算机硬件和软件资源的计算机程序,管理配置内存、决定资源供需顺序、控制输入输出设备等,操作系统提供让用户和系统交互的操作界面。1.2操作系统有什么用?①操作系统统一管理计算机资源!计算机资源包括处理器资源、IO资源、存储器资源、文件资源②操作系统实现了对计算机资源的抽象!比如为了方便用bai户使用I/O设备,人们在du在逻辑上zhi覆盖一层I/O设备管理软dao件,由他来实现对I/O设备操作zhuan的细节,并向上提供一shu组I/O操作命令,如

2021-02-08 15:42:39 682 1

原创 计算机网络笔记七(数据链路层:帧、MTU、ARP协议)

1.数据链路层1.1主要功能用于两个设备(同一种数据链路节点)之间进行信息传递。网络层和数据链路层对比: 网络层是进行地址管理和路由选择的,它是为数据报的转发找出一条路来,而数据链路层解决的是两个结点直接的数据交换,接近于物理层的概念。1.2了解以太网首先,以太网是当前应用广泛的局域网技术; 和以太网并列的还有令牌环网, 无线LAN(WiFi、蓝牙)等其次,以太网不是一种具体的网络, 而是一种技术标准; 它既包含了数据链路层的内容, 也包含了一些物理层的内容. 例如: 规定了网络拓扑结构, 访问

2021-02-05 20:44:23 604

原创 计算机网络笔记六(网络层:基础概念、IP协议、ICMP协议)

1.网络层基础1.1网络层相关概念1.1.1网络层功能网络层向上只提供简单的、无连接的、尽最大努力交付的数据报服务,这里数据报就是IP数据报也就是分组。1.1.2过程在网络层,数据传输的基本单位是数据包(也称为分组)。在发送方,传输层的报文到达网络层时被分为多个数据块,在这些数据块的头部和尾部加上一些相关控制信息后,即组成了数据包(组包)。数据包的头部包含源结点和目标结点的网络地址(逻辑地址)。在接收方,数据从低层到达网络层时,要将各数据包原来加上的包头和包尾等控制信息去掉(拆包),然后组合成报文

2021-02-05 15:21:40 1335

原创 计算机网络笔记五(传输层:基础概念、UDP协议、TCP协议)

1.传输层基础概念1.1传输层概述传输层向上面的应用层提供通信服务,属于面向通信部分的最高层,也是用户功能中的最底层。传输层为相互通信的应用进程提供了逻辑通信。主要包括两个协议:TCP协议和UDP协议。1.2传输层功能传输层的主要作用:在发送主机与接收主机之间构建逻辑通信,分段及封装应用层送来的数据;提供端到端的传输服务。端到端是什么概念呢?打个比方说,一个人用QQ与朋友聊天,网络层识别IP地址,能够将信息送到正确的主机,而主机应该使用什么应用协议接收这个信息呢? 这个功能就需要传输层来完成,传输层

2021-02-01 21:53:09 993

原创 计算机网络笔记四(应用层:DNS协议、FTP协议)

的风格

2021-01-26 23:09:44 643

原创 计算机网络笔记三(应用层:HTTP协议、HTTPS协议)

1.Web应用与HTTP协议1.1Web基础概念1>Web由网页构成,而且网页可以相互链接。2>网页包含多个对象,对象可以是HTML文件、JPEG图片、视频文件、动态脚本等,HTML文件包含对其他对象引用的链接。3>对象如何寻址?通过URL(统一资源定位器),URL是用来表示从互联网上得到资源位置和访问这些资源的方法。URL由四部分组成:<协议>://<主机>:<端口>/<路径>。(像HTTP的URL会省略端口号80)1.2HTT

2021-01-25 22:35:09 767

原创 计算机网络笔记二(应用层:体系结构、进程间通信、传输服务)

1.网络应用体系结构1> 客户机/服务器2> P2P3> 混合结构2.网络应用的服务需求1> 可靠性2> 带宽3> 时延3. Internet传输层服务模型1> TCP2> UDP4. 特定网络应用及协议1> HTTP2> DNS3> FTP4> HTTPS5.如何开发网络应用——socket编程1> TCP2> UDP1.常见的网络应用百度、QQ、Emile、迅雷、支付宝等等2.网

2021-01-25 13:05:25 621

原创 计算机网络笔记一(计算机网络基本概念、TCP/IP协议体系)

1.计算机网络基础概念1.1计算机网络定义计算机网络就是互连的、自治的计算机集合。自治:无主从关系互连:互联互通1.2什么是Internet?Internet是最大的计算机网络!1.2.1从组成细节的角度:由很多个ISP网络互连的网络之网络。1> 数以百万计的互连的计算设备集合:主机(端系统通过ISP连接到Internet)、网络应用2> 通信链路:光纤、无线电、卫星……3> 分组交换:路由器、交换机补充ISP:它包括Internet接入服务和Internet内容提供

2021-01-23 18:35:51 457

原创 数据结构与算法笔记1(基本概念、时间复杂度)

绪论—数据结构1.数据的相关概念数据:比如身份信息、工作信息的集合,关键在于描述客观事物并且可以输入到计算机中被程序处理。数据对象:是数据的子集,是具有相同性质的数据元素的集合,比如身份信息。数据元素:是数据的基本单位。比如每一个人的身份信息。数据项:构成数据元素的不可分割的最小单位,比如身份信息中的姓名。数据类型:是集合+操作。包括原子类型(值的集合+操作,比如int、char)、...

2021-01-22 10:15:13 212

原创 C++笔记十一(STL:函数对象、常用算法)

1.STL——函数对象1.1 函数对象概念1> 重载函数调用操作符的类,其对象被称为函数对象。2> 函数对象使用重载的()时,行为类似函数调用,也叫仿函数。本质:函数对象(仿函数)是一个类,不是一个函数。1.2 函数对象使用特点:1> 函数对象在使用时,可以像普通函数那样调用,可以有参数,可以有返回值。2> 函数对象存超出普通函数的概念,函数对象可以有自己的状态。3> 函数对象可以作为参数传递。class MyAdd{public: int opera

2021-01-20 15:02:37 199 1

原创 C++笔记十(STL:stack、queue、list、set\multiset、map\multimap)

1.stack容器1.1基本概念stack是一种先进后出的数据结构,只有一个出口。而且栈不允许有遍历操作。

2021-01-20 15:01:08 179

原创 C++笔记九(STL:基础知识、string、vector、deque)

1.STL基础1.1为了建立数据结构与算法的一套标准,诞生了STL。STL(标准模板库)广义分为:容器、算法、迭代器。容器与算法之间通过迭代器进行无缝连接。STL 所有代码基本上都采用了类模板和函数模板。1.2 STL六大组件,分别为:容器、算法、迭代器、仿函数、适配器(配接器)、空间配置器。容器:各种数据结构,如:vector、list、deque、set、map等,用于存放数据。算法:各种常用的算法,如:sort、find、copy、for_each等。迭代器:扮演了容器与算法之间的胶合

2021-01-20 14:58:44 416

原创 C++笔记八(模板)

1.模板C++中除了有面向对象的思想外还有一种编程思想为泛型编程,主要利用技术便是模板。基本概念:建立通用的“模具”,提高复用性。特点:模板不可直接使用,且模板的通用性不是万能的。模板分为两种:函数模板、类模板2.函数模板函数模板作用:建立一个通用模板,其函数的返回类型与参数类型不具体制定,用一个虚拟的类型来表示。语法:template<typename T>//函数声明与定义template:声明创建模板typename:表示后面的符号是一种数据类型,可以用class代

2021-01-20 11:52:03 79

原创 C++笔记七(文件、异常)

1.文件操作**1.**原由:程序运行时数据都是临时数据,程序一旦运行结束便会被释放,通过文件可以将数据持久化。C++中文件操作的头文件为< fstream >文件类型分为两种:其一,文本文件:文件以文本的ASCII码的形式存储在计算机中其二,二进制文件:文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂它们文件操作的三大类(class)其一,ofstream 写操作其二,ifstream 读操作其三,fstream 读写操作**2.**文本文件写文件的步骤:1&

2021-01-19 14:32:17 241

原创 C++笔记六(多态)

1.多态1.1多态简单说就是一个接口,多种方法。分为两类:静态多态和动态多态静态多态:函数重载和运算符重载属于静态多态动态多态:派生类和虚函数实现运行时多态静态多态和动态多态的区别:静态多态的函数地址早绑定,即编译阶段确定函数地址动态多态的函数地址晚绑定,即运行阶段确定函数地址...

2021-01-18 16:02:16 105

原创 C++笔记五(继承)

1.继承1.1

2021-01-17 22:02:32 189 1

原创 C++笔记四(运算符重载)

1.运算符重载1.1 运算符重载概念:对已有的运算符进行重新定义,赋予其另一种功能,以适应不同的数据类型。可以通过全局函数或者成员函数实现。1.2加号运算符重载

2021-01-15 21:35:43 128

原创 C++笔记三(封装、静态、const、友元)

1.C++面向对象特性1.1C++面向对象的三大特性为:封装、继承、多态 (万物皆对象)2. 封装2.1 封装的意义:其一,将属性和行为作为一个整体,表现生活中的事物。创建类别忘了"{}“后有个”;",其实可以理解为类与结构体类似。类中的属性与行为统一称为成员,属性称为成员变量、成员属性。行为称为成员函数、成员方法 class Student{public: string m_name; string m_number; void Set(string name,string n

2021-01-15 21:19:51 139

原创 C++笔记之内存(内存分区、动态内存、智能指针)

1.内存部分1.1内存分区模型内存分四区:代码区、全局区、栈区、堆区。前两者编译时划分,后两者运行时划分。全局区存放全局变量和静态变量以及常量,其中常量区里含有字符串常量和其他常量(const修饰的全局变量)且常量区的数据不可更改。栈区包含形参、局部变量等。堆区使用malloc、new等函数开辟的空间。(内存分区详情以及new的使用见《C++笔记二》第一节内存四区。)示例:const int t1 = 10;int t2; void test21(int t21){ cout<&l

2021-01-14 16:51:41 374

原创 C++笔记之指针与数组

1.指针与数组的基本概念1.1数组概念数组(Array)是有序的元素序列。元素的类型相同,元素的个数确定。(如果元素个数不确定建议使用vector),数组元素不仅在逻辑上是一个接一个连续的,在实际存储中也是,数组中的元素存储在一个连续性的内存块中,并通过索引(下标)来访问。1.2指针概念指针是一种指向某种类型的复合类型,用于记录地址。指针也是对象,可以赋值和拷贝。指针占内存空间为8字节,这与操作系统的位数有关(见《C++笔记一》第七节指针)。指针存放的是地址,64位系统显然可以有64个“位置”给0、

2021-01-10 18:52:13 310

原创 C++笔记二(内存、引用、函数高级用法)

1.内存四区1.1 内存分区模型1.1.1 C++程序执行时,将内存大方向分为四个区域:代码区:存放函数体的二进制代码,由操作系统进行管理。全局区:存放全局变量和静态变量以及常量。栈区:由编译器自动分配释放,存放函数的参数值,局部变量等。堆区:有程序员分配和释放,若程序员不释放,程序结束时由操作系统回收。内存四区的意义:不同区域存放的数据赋予不同的生命周期,给我们更加灵活的编程。...

2021-01-08 16:57:00 185

mbusd-master.zip

开源modbus网关,实现modbus Tcp与modbus Rtu协议之间的转换。使用C++语言。

2020-04-21

空空如也

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

TA关注的人

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