- 博客(48)
- 收藏
- 关注
转载 Qt中的delete 和deletelater
当一个QOBJECT正在接收事件队列时如果中途被你DELETE掉了,就会出现问题了,所以QT中建议大家不要直接DELETE掉一个 QOBJECT,如果一定要这样做,要使用QOBJECT的deleteLater()函数,它会让所有事件都发送完一切处理好后马上清除这片内存,而且就算调用多次的deletelater也不会有问题。转载自:https://www.cnblogs.com/liushui-sky/p/5852014.html...
2020-12-10 17:04:51
848
转载 RS触发器
转载自:https://blog.youkuaiyun.com/aic1999/article/details/80200534RS触发器,也有人叫它RS锁存器,用于实现“记忆”电路状态/数据功能的东西 。问过学过数电的人,有说触发器和锁存器对信号的触发方式虽然不同但是工作原理其实一样的,触发器是边沿变化,锁存器是电平变化....但是两者的逻辑图和原理都一样的,所以在这就不做区分了。首先RS触发器的逻...
2019-03-22 18:28:43
4356
2
转载 正数负数的源码反码补码
转载自:https://blog.youkuaiyun.com/boss_way/article/details/78321698原码:(正数)+7 符号位 数值为0 0000111正数的源码最高位是0,正数的反码和原码相同,正数的补码和原码相同原码(负数)-7 符号位 数值位1 0000111反码1 1111000 (负数的反码与原码符号位相同,数值为取反)补码1 11...
2019-03-22 16:23:22
1345
原创 qt延时之延时方法及cpu占用问题
参考资料:https://blog.youkuaiyun.com/tingsking18/article/details/5304254qt的延时方法一般有以下3种:1、精度低,卡界面,CPU占用少Qt为我们提供了几个可以用于线程Sleep的函数,分别是: void QThread::sleep ( unsigned long secs ) [static protected] ...
2019-01-01 16:30:09
3005
原创 qt延时之QApplication::processEvents详解
应用场景一:处理密集耗时的事情有时候需要处理一些跟界面无关的但非常耗时的事情,这些事情跟界面在同一个线程中,由于时间太长,导致界面无法响应,处于“假死”状态。例如:在应用程序中保存文件到硬盘上,从开始保存直到文件保存完毕,程序不响应用户的任何操作,窗口也不会重新绘制,从而处于“无法响应”状态,这是一个非常糟糕的体验 。 在这种情况下,有一种方法是使用多线程,即在子线程中处理文件保存,...
2019-01-01 11:23:54
24376
9
转载 qt延时之界面“假死”问题
转载自:https://blog.youkuaiyun.com/xiezhongyuan07/article/details/81169583在Qt程序中,我们有时候会遇到这样的需求,比如让程序暂停(休息、休眠)一段时间, 这段时间里可能程序什么都不做, 也可能是在后台开了个子线程在做一些用户看不见的工作。最开始我需要这样的需求时候,我第一反应想到的是在QT Assistant 中搜索sleep方法,...
2019-01-01 10:33:58
6271
1
转载 linux CAN编程(二)----------- can_frame中can_id的数据组织形式及处理
转载自:https://blog.youkuaiyun.com/qwaszx523/article/details/54984544/** * struct can_frame - basic CAN frame structure * @can_id: CAN ID of the frame and CAN_*_FLAG flags, see canid_t definition * @can_...
2018-11-30 11:42:37
11873
转载 位操作(三)
转载自:https://blog.youkuaiyun.com/xwu_09/article/details/78285785按位与运算符(&)参加运算的两个数据,按二进制位进行“与”运算。运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1; 即:两位同时为“1”,结果才为“1”,否则为0例如:3&5...
2018-11-30 11:38:15
3142
转载 linux CAN编程(一)
转载自:https://blog.youkuaiyun.com/lizhu_csdn/article/details/51490958Linux 系统中CAN 接口配置在 Linux 系统中, CAN 总线接口设备作为网络设备被系统进行统一管理。在控制台下, CAN 总线的配置和以太网的配置使用相同的命令。在控制台上输入命令:ifconfig –a可以得到以下结果:在上面的结果中, ...
2018-11-29 10:06:25
1032
转载 位操作(二)
转载自:https://blog.youkuaiyun.com/czg13548930186/article/details/72859866位操作符1.位与&1、注意:位与符号是一个&,两个&&是逻辑与。2、真值表:1&0=01&1=10&0=00&1=03、从真值表可以看出:位与操作的特点是,只有1和1位与结果为1,其余全是0....
2018-11-26 17:40:54
2968
转载 位操作(一)
1、取出一个字节(byte)中的每一位(bit)转载自:https://blog.youkuaiyun.com/qq_21794823/article/details/53517628?locationNum=6&fps=1例: byte byData = 0x36; int n0, n1, n2, n3, n4, n5, n6, n7;n0 = (byData & 0x0...
2018-11-26 14:46:09
5380
1
转载 CAN报文 Intel 格式与Motorola 格式的区别
转载自:http://blog.sina.com.cn/s/blog_859fc6960101agew.html当一个信号的数据长度不超过 1 个字节(8 位)时,Intel 与 Motorola 两种格式的 编码结果没有什么不同,完全一样。当信号的数据长度超过 1 个字节(8 位)时,两者的编码结果出现 了明显的不同 1. 信号的高位,即最能表达信号特性的因子,比...
2018-11-25 20:00:54
677
转载 Qt中Qstring、char *、QByteArray之间的转换
转载自http://blog.51cto.com/ibeyond/373948char * 与 const char *的转换char *ch1="hello11";const char *ch2="hello22";ch2 = ch1;//不报错,但有警告ch1 = (char *)ch2;char 转换为 QString其实方法有很多种,我用的是:char a='b';QSt...
2018-11-23 17:45:26
651
转载 QT中char变量与QString变量QByteArray变量区别
转载自http://blog.sina.com.cn/s/blog_539d078401014eoh.html QByteArray可以用来存储原始字节(包括‘\0’)和传统的8位‘\0'结束的字符串。它比使用const char*更方便。通常它能保证数据末尾是'\0'空字符。当要存储二进制的原始数据时或者减少内存占用时,QByteArray特别合适。 除了QByteArray...
2018-11-17 12:18:33
952
原创 QT类学习——QByteArray
QByteArray类提供了字节数组,包含于<QByteArray>头文件中。QByteArray可以存储raw bytes和传统的8-bits的字符串,都是以'\0'结尾的,使用比char*更方便QString也可以存储字符串信息,但通常以16-bits形式Unicode方式存储,这有利于非ASCII和非Latin-1格式的数据的存储,例如GBK等中文 size()大...
2018-10-25 10:15:47
1185
1
转载 Qt窗口之QMainWindow、QDialog、QWidget
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/rl529014/article/details/51419126 在 Qt 中,我们将窗口和控件统称为部件(Widget)。 窗口是指程序的整体界面,可以包含标题栏、菜单栏、工具栏、关闭按钮、最小化按钮、最大化按钮等。 控件是指按钮、复选框、文本框、表格、进度条等这些组成程序...
2018-10-25 10:15:34
353
原创 按值传递/按引用传递 返回对象/返回引用
1、按值传递对象与传递引用: 通常,编写使用对象作为参数的函数时,应按引用而不是按值来传递对象。这样做的原因之一是提高效率。按值传递对象涉及到生成临时拷贝,即调用复制构造函数,然后调用析构函数。调用这些函数需用时间,复制大型对象比传递引用花费的时间要多的多。如果函数不修改对象,应将参数声明为const引用。 按引用传递对象的另一个原因是,在继承使用虚函数时,被定...
2018-10-23 15:06:44
1696
原创 对指针的知识点小结
1、指针的声明和初始化声明指向特定类型的指针的格式:typeName * poiterName;创建指针后,应将内存地址赋给它。int ducks=12; //创建ducks变量,将值12存储在在该变量中。int *birddog=&ducks; //创建指针变量birddog,将ducks的地址存储在该变量中。 将一个指针初始化为一个地址: #inc...
2018-10-16 16:29:13
214
原创 const、extern、explicit关键字 静态变量(static声明、未命名的名称空间、类中使用枚举声明的变量) this指针
1、const关键字 (1)可以用const来确保方法不修改参数:Star::Star(const char * s){...} //won't change the string to which s points (2)可以用const来确保方法不修改调用它的对象:void Star::show()const{...} //won't change in...
2018-10-16 16:28:22
700
原创 默认构造函数 new和delete 析构函数 私有成员和保护成员
1、默认构造函数定义默认构造函数的方法有两种: (1)如果没有提供任何构造函数,C++将创建默认构造函数。该默认构造函数不接受任何参数,也不执行任何操作。格式如下: Stonewt::Stonewt(){ } //implicit default constructor 可以显示的定义该默认构造函数,使用它来设置特定的值。如:...
2018-10-16 16:28:08
615
原创 一些概念:类和结构、名称空间、复制构造函数、作用域和链接性 自动变量和堆栈
1、类和结构 类描述看上去很像是包含成员函数以及public和private可见性标签的结构声明。实际上,C++对结构进行了扩展,使之具有与类相同的特性。他们之间唯一的区别是,结构的默认访问类型是public,而类为private。C++程序员通常使用类来实现类描述,而把结构限制为只表示纯粹的数据对象或没有私有部分的类。class World{ float ma...
2018-10-16 16:27:41
252
原创 头文件管理 使用#ifndef防止多重包含 部分头文件用途及其中的函数介绍
1、 在同一个文件中只能将同一个头文件包含一次。记住这个规则很容易,但很可能在不知情的情况下将头文件包含多次。例如,可能使用包含了另一个头文件的头文件。有一种标准的C++技术可以避免多次包含同一个头文件。它是基于预处理器编译指令#ifndef(即if not define)的。下面的代码片段: #ifndef COORDIN_H_ ... ...
2018-10-16 16:27:15
1035
原创 文本文件的输入、输出
1、写入文本文件使用文本文件输出的步骤: 1)包含头文件fstream 2)创建一个ofstream对象 3)将该ofstream对象同一个文件关联起来。 关联的方法:ofstream对象.open("文本文件名") 4)就像使用cout那样使用该ofstream对象。#include <iostream>...
2018-10-16 16:26:37
1026
原创 重载操作符 友元 成员函数 非成员函数
平时都不怎么用得上。重载操作符:operator+()友元:类的友元函数是非成员函数,其访问权限与成员函数相同。//mytime3.h#include<iostream>class Time{private: int hours; int minutes;public: Time(); Time(int h,int m=0);...
2018-10-16 16:26:23
428
原创 递归
#include<iostream>using namespace std;void countdown(int n);int main(){ countdown(4); return 0;}void countdown(int n){ cout<<"Counting down ... "<<n<<end...
2018-10-16 16:25:40
184
原创 String类和字符数组
1、string对象和数组的区别 string对象和字符数组之间的主要区别是,可以将将string对象生命为简单变量,而不是数组string str1; //create an empty string objectstring str2="panther"; //create an initialized String程序会自动调整string对象的长度不能将一个数组赋值给...
2018-10-16 16:25:04
2284
原创 使用多个if和使用if else if的区别
//Version1while(cin.get(ch)){ if(ch==' ') spaces++; if(ch=='\n') newlines++;}//Version2while(cin.get(ch)){ if(ch==' ') spaces++; else if(ch=='\n') ...
2018-10-16 16:24:32
5845
原创 数据处理的一些笔记
1、\0:空字符 输入的字符串都是以“\0”结尾的,字符串末尾会隐式的包含\0比如字符串“s”,其实际是有s和\0共同组成的在确定存储字符串所需的最短数组时,需将结尾的空字符计算在内。字符串以空字符作为结束标志,不管其后是否还存在其他数据,如:char name1[15]="C++owboy",如果设置name1[3]='\0'则,name1为“C++”2、sizeo...
2018-10-16 16:23:58
213
原创 预处理器编译指令
**预处理器编译指令——#define和#include**#define INT_MAX 32767#define和#include都是预处理器编译指令。该编译指令告诉预处理器:在程序中查找INT_MAX,并将所有独立的INT_MAX都替换为32767。修改后的程序将在完成这些替换后被编译。...
2018-10-16 16:23:08
626
原创 数据输入之cin、get()、getline()
cin:只能输入一个单词getline():每次读取一行字符串输入,它通过回车键输入的换行符来确定输入结尾。getline()成员函数在读取到指定数目的字符或遇到换行符时停止读取,并丢弃换行符get():get()用法同getline(),但是get()不丢弃换行符。使用cin.get()可读取下一个字符 ...
2018-10-16 16:22:41
756
原创 程序中不同进制的显示形式
1、十进制 93——93;2、八进制 042——34;//34=8x4+1x23、十六进制 0xA5——165;//165=16x10+1x5
2018-10-16 16:22:07
244
原创 C++知识点备忘录之多文件程序编写(六)
使用头文件来定义用户类型,为操作用户类型的函数提供函数原型;并将函数定义放在一个独立的源代码文件中。头文件和源代码文件一起定义和实现了用户定义的类型以及使用方式。最后,将main()和其他使用这些函数的函数放在第三个文件中。 #include<iostream>//const int ArSize=10;//void strcount(const char * str);...
2018-10-16 16:21:43
204
原创 C++知识点备忘录之函数、指针(五)
1、参数为空void say_hi():在C++中,括号为空与在括号中使用关键字void是等效的——意味着函数没有参数。2、传递数组为将数组类型和元素数量告诉数组处理函数,请通过两个不同的参数来传递他们: void fillArray(int arr[],int size); //OK! void fillArray(int arr[size]);...
2018-10-16 16:21:28
355
原创 C++知识点备忘录之基本语法(四)
1、a++和++a的区别#include <iostream>using namespace std;int main(){ int a=20; int b=20; cout<<"a++:"<<a++<<", ++b:"<<++b<<endl; cout&
2018-10-16 16:20:35
199
原创 C++知识点备忘之string类(三)
1、string对象和字符数组之间的主要区别:可以将string对象声明为简单变量,而不是数组。如: string str1; //create an empty string object string str2="panther"; create an initialized string char charr1[20]; //create an...
2018-10-16 16:17:54
162
原创 C++知识点备忘之字符串(二)
1、字符串的定义 字符串以空字符结尾,空字符串被写作\0,其ASCII码为0,用来标记字符串的结尾。如: char dog[5]={'D','e','a','u'}; //not a string! char cat[5]={'f','a','t','\0'}; //a string! char bird[10]="Mr. Cheeps"; /...
2018-10-16 16:17:00
198
原创 何时使用指针参数、引用参数、按值传递?
1、什么是引用?如何使用引用?为什么要使用引用? 1)什么是引用? 引用变量是一种伪装指针,它允许为变量创建别名(另一个名称)。 在初始化一个引用变量时,必须对其进行初始化。 2)何时使用引用? 引用变量主要被用作处理结构和类对象的函数的参数。 3)为什么要使用引用? 程序员能够修...
2018-10-16 16:15:30
2442
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人