- 博客(137)
- 资源 (1)
- 收藏
- 关注
原创 Qt国际化
初次使用Qt国际化,记录下步骤。一、编写代码时,使用tr函数包含要翻译的文本。二、创建ts文件,有两种方法。a、使用命令行,这种方法比较麻烦,不建议。b、使用pro文件。在pro文件中添加:TRANSLATIONS += translations/i18n_en.ts \ translations/i18n_zh.ts然后,通过工程的菜单: 工具 -...
2020-01-14 11:22:41
483
1
原创 Qt单个模块的编译
有可能使用的Qt没有自己需要的模块,这个时候就只能自己去编译这个模。本次就拿QWebEngine这个模块来讲,这个模块比较复杂,编译很容易出问题。1、进入 qt-everywhere-opensource-src-5.9.2/qtwebengine/文件夹执行 qmake qtwebengine.pro这一步基本上都会报错,报一些库的缺失。使用 ldconfig -p | grep **...
2020-01-02 09:12:59
6457
1
原创 Qt编译
工作中要用到麒麟系统,由于麒麟系统自带的Qt模块很少,无法满足要求,于是自己编译源码,版本5.9.2。1、下载源码和Qt creater。2、解压到一个目录。3、编译源码并安装:1.修改交叉编译器:vim qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.confQMAKE_CC = arm-linux-gnueabi...
2020-01-02 08:52:08
623
原创 QListWidget的注意事项
1、设置滚动方式 enum ScrollMode { ScrollPerItem, ScrollPerPixel };ScrollPerItem按item滚动,会出现空白ScrollPerPixel按像素滚动,不会出现空白setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);setHori...
2020-01-02 08:22:53
736
原创 QMenu的自定义内容
@[TOC]QMenu的自定义内容QMenu的作用QMenu很常用,也很方便,可以替代很多弹出框,做交互。基础用法就是添加QAction,今天不记录这些。要记录的是QWidgetAction,可以在QMenu里面添加自定义的action。1、为什么QWidget放在QWidgetAction里面,QMenu不显示?我需要用到一个自定义的widget放入到QMenu中,但是一直都不显示效果。...
2019-12-26 10:10:23
1079
1
原创 stderr和stdout
printf对应stdoutperror对应stderr输出重定向freopen的第三个参数是stdout,则使用printf打印到文件是stderr,则使用perror打印到文件
2019-05-15 15:26:57
345
转载 PImpl机制以及Qt的D-Pointer实现
PImpl是 Pointer to implementation的缩写, 是C++ 在构建导出库接口时特有的技术手段。 即是将类Class中所有私有变量以及私有方法,封装在一单独的实现类ClassImpl中。我们在Class中通过一指向ClassImpl的私有指针,访问这些私有数据。而ClassImpl类的具体定义和实现,我们放入cpp中。Qt中的D-Pointer技术,便是PImpl机制的一种实...
2019-04-23 17:08:42
945
转载 Q_DISABLE_COPY
QObject 中没有提供一个拷贝构造函数和赋值操作符给外界使用,其实拷贝构造和赋值的操作都是已经声明了的,但是它们被使用了Q_DISABLE_COPY() 宏放在了private区域。因此所有继承自QObject的类都使用这个宏声明了他们的拷贝构造函数和赋值操作符为私有。为什么要这样做?我们都知道Qt对标准C++增加了一些功能:signals, slots, object propertie...
2019-04-23 16:18:53
1406
原创 QTableWidget内存释放问题
Qt的内存管理基本上是不需要操心的。之前总感觉类似QTableWidget的控件操作很不方便,没有类似ios的cell复用,应该也是可以自己实现的,今天谈谈QtableWidget的释放问题。 一直担心QTableWidget使用不好会造成内存泄漏,所以就研究了一下。 创建的过程都一样 for(int i = 0; i < row; i++) { for(i...
2019-03-27 23:17:23
4805
转载 C++单例类模板详解
单例类描述指在整个系统生命期中,一个类最多只能有一个实例(instance)存在,使得该实例的唯一性(实例是指一个对象指针) , 比如:统计在线人数在单例类里,又分为了懒汉式和饿汉式,它们的区别在于创建实例的时间不同:懒汉式 : 指代码运行后,实例并不存在,只有当需要时,才去创建实例(适用于单线程)饿汉式 : 指代码一运行,实例已经存在,当时需要时,直接去调用即可(适用于多线程)用...
2019-03-24 22:47:55
286
转载 C++设计模式之单例模式
声明:本文转自https://www.jb51.net/article/55863.htm,如有侵权,请联系我删除问题描述现在,不管开发一个多大的系统(至少我现在的部门是这样的),都会带一个日志功能;在实际开发过程中,会专门有一个日志模块,负责写日志,由于在系统的任何地方,我们都有可能要调用日志模块中的函数,进行写日志。那么,如何构造一个日志模块的实例呢?难道,每次new一个日志模块实例,写完...
2019-03-24 22:45:07
153
转载 C++单例模式应用
声明:本文转自https://www.jb51.net/article/55969.htm,如有侵权,请联系我删除定义:一个类有且仅有一个实例,并且提供一个访问它的全局访问点。要点:1、类只能有一个实例;2、必须自行创建此实例;3、必须自行向整个系统提供此实例。实现一:单例模式结构代码singleton.h文件代码如下:#ifndef _SINGLETON_H_#define ...
2019-03-24 22:36:41
1399
转载 C++实现 单例模式实例
设计模式之单例模式C++实现一、经典实现(非线程安全)class Singleton { public: static Singleton* getInstance(); protected: Singleton(){} private: static Singleton *p; }; Singleton* Singleton::p ...
2019-03-24 22:29:04
362
转载 C++单例模式的实例详解
单例模式概述个人认为单例模式是设计模式中最为简单、最为常见、最容易实现,也是最应该熟悉和掌握的模式。且不说公司企业在招聘的时候为了考察员工对设计的了解和把握,考的最多的就是单例模式。单例模式解决问题十分常见,我们怎样去创建一个唯一的变量(对象)?在基于对象的设计中我们可以通过创建一个全局变量(对象)来实现,在面向对象和面向过程结合的设计范式(如 C++中)中,我们也还是可以通过一个全局变量实现...
2019-03-24 22:25:20
404
原创 zlib库的编译和使用
首先去官网下载源码,解压。windows下编译有很多种方法。1、在contrib/vstudio文件夹下,使用对应版本的vs打开,运行。备注:(1)如果编译过程中出现"fatal error LNK1281: 无法生成 SAFESEH 映像"的错误,则将该项目的 属性页->链接器->高级->映像具有安全异常处理程序->选“否”(2)此版本生成的动态链接库文件名默认...
2019-03-24 17:37:44
1008
1
原创 迭代器二分查找
bool search_value_loop(std::vector <int> &ivec,const int search_value,std::vector <int> ::difference_type & position){ auto start=ivec.cbegin(); auto end=ivec.cend(); auto mid=...
2019-03-19 20:03:23
339
转载 UUID
https://blog.nbhao.org/1525.html在使用virtualbox虚拟机软件的时,可能您和博主一样,不想重复安装一个相同的系统。所以直接拷贝虚拟硬盘镜像文件(.vdi 文件)是最方便的创建虚拟系统的方式。但是仅仅这样是不够的,您在创建过程中可能会遇到如下的情况。virtualbox_error_uuid打开 虚拟硬盘 F:\VirtualBox VMs\xp4.vd...
2019-01-30 08:56:54
425
转载 Qt深入:不能不知道的Type、Attribute和Flags
Qter高手与新手的区别在于:知道还是不知道Qt不是开发语言,所以无所谓谁厉害。但使用他的Qter却有着差异,也许是面向对象语言本身的、或者实际经验上的。而对于Qt本身来说,高手与新手最显著的差异在于:高手比新手知道的要多的多。做个小小的测试吧,看大家对下面的知识了解多少。ApplicationAttribute顾名思义,应用程序级别的属性。其中用的最多的可能算是Qt::AA_S60Don...
2018-12-31 22:23:09
639
转载 QT 的信号与槽机制介绍
QT 是一个跨平台的 C++ GUI 应用构架,它提供了丰富的窗口部件集,具有面向对象、易于扩展、真正的组件编程等特点,更为引人注目的是目前 Linux 上最为流行的 KDE 桌面环境就是建立在 QT 库的基础之上。QT 支持下列平台:MS/WINDOWS-95、98、NT 和 2000;UNIX/X11-Linux、Sun Solaris、HP-UX、Digital Unix、IBM AIX、S...
2018-12-12 17:33:45
161
转载 QT 信号和槽
QT 信号和槽信号和槽是一种高级接口,应用于对象之间的通信,它是 QT 的核心特性。要正确的处理信号和槽,必须借助一个称为 moc(Meta Object Compiler)的 QT 工具,该工具是一个 C++ 预处理程序,它为高层次的事件处理自动生成所需要的附加代码。 信号和槽能携带任意数量和任意类型的参数。我们可以将很多信号与单个的槽进行连接,也可以将单个的信号与很多的槽进行连接,(当这个信...
2018-12-12 17:26:08
233
1
转载 QImage缩放图片
QImage提供了缩放图片的函数 scaled, 并且可以用参数指定”快速缩放(FastTransformation)”还是”平滑缩放(SmoothTransformation)”, 使用还是很方便的。 但是如果你用缩放函数去做大图片的缩略图可能会发现”快速缩放”得到的图片质量不佳, 而”平滑缩放”质量很好但速度欠佳, 特别是原图非常大的时候smoothscale简直就是个噩梦阿。 这里就可以使用...
2018-12-09 16:00:51
10150
转载 __weak与__block区别,深层理解两者区别
准备工作首先我定义了一个类 MyObject 继承 NSObject,并添加了一个属性 text,重写了description方法,返回 text 的值。这个主要是因为编译器本身对 NSString 是有优化的,创建的 string 对象有可能是静态存储区永不释放的,为了避免使用 NSString 引起一些问题,还是创建一个 NSObject 对象比较合适。另外我自定义了一个 TLog 方法输...
2018-11-12 10:22:05
204
转载 我是如何学习Xcode下Objective C开发的?
Objective C开发的主要IDE是Mac平台上的Xcode,当然你在Linux下也可以学习和使用,甚至在Windows下也是可以的,有兴趣的朋友可以自己搜索这方面的信息。但是我觉得最好是在Mac平台上使用Xcode,不然没有什么实际意义。目前Objective C主要用来开发基于Mac OS和iOS的程序,在其它方面几乎没有什么应用,至少我没有听说过,算是我孤陋寡闻吧!所以,你要学习Obj...
2018-10-27 15:43:47
358
转载 Objective-C 实例变量与属性的区别
记得刚学习OC时,对实例变量和属性总是不太清楚。比如下面代码中在打印Person类对象的名字时,什么时候用带“_”的name,NSLog(@"%@",p1->_name);什么时候用不带“_”的name,NSLog(@"%@",p1.name);现在回想起来也是挺有意思的过往,写下自己曾经的迷惘,纪念一下青春?。。。。首先,使用实例变量编写代码。以及实例变量赋值要用到getter、s...
2018-10-25 14:30:33
393
转载 Linux挂载详解
一 、linux文件结构文件结构是文件存放在磁盘等存贮设备上的组织方法。主要体现在对文件和目录的组织上。目录提供了管理文件的一个方便而有效的途径。 linux使用标准的目录结构,在安装的时候,安装程序就已经为用户创建了文件系统和完整而固定的目录组成形式,并指定了每个目录的作用和其中的文件类型。linux采用的是树型结构。最上层是根目录,其他的所有目录都是从根目录出发而生成的。微软的DOS和...
2018-10-18 22:01:21
811
转载 Linux内核空间内存申请函数kmalloc、kzalloc、vmalloc的区别【转】
转自:http://www.th7.cn/system/lin/201606/167750.shtml我们都知道在用户空间动态申请内存用的函数是 malloc(),这个函数在各种操作系统上的使用是一致的,对应的用户空间内存释放函数是 free()。注意:动态申请的内存使用完后必须要释放,否则会造成内存泄漏,如果内存泄漏发生在内核空间,则会造成系统崩溃。 那么,在内核空间中如何申请内存呢?一般...
2018-10-18 17:31:59
545
转载 一步一步教你如何调试 递归程序
一步一步教你如何调试 递归程序,这篇帖子主要是介绍 递归 与 动态规划 之间是如何转换的,什么是递归估计不用多说,那么什么是 动态规划呢?我理解的动态规划就是:能够避免 直接 递归实现 中出现的重复运算的技术就是动态规划。这里有三个关键词:“直接”、“递归实现”、“重复运算”也许最简单的, 也是众所周知的动态规划题目是 Fibonacci数列,如果你不知道,说明你的老师也不知道,而且...
2018-10-17 10:03:30
5104
1
转载 内存重叠之memcpy、memmove
函数原型:12void *memcpy( void *dest, const void src, size_t count );void memmove( void dest, const void src, size_t count );1.memcpy和memmove相同点都是用于从src拷贝count个字节到dest。2.memcpy和memmove区别如果目标区域和源区域有...
2018-10-14 22:17:51
269
转载 C语言位域
有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态,用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节的二进制位域来...
2018-10-11 21:28:18
180
转载 socket编程需要哪些头文件
一 三种类型的套接字:1.流式套接字(SOCKET_STREAM)提供面向连接的可靠的数据传输服务。数据被看作是字节流,无长度限制。例如FTP协议就采用这种。2.数据报式套接字(SOCKET_DGRAM)提供无连接的数据传输服务,不保证可靠性。3.原始式套接字(SOCKET_RAW)该接口允许对较低层次协议,如IP,ICMP直接访问。二 基本套接字系统调有有如下一些:创建套接字: ...
2018-10-07 08:19:08
2218
1
转载 gdb调试
之前想验证一些关于堆栈的问题,但是没什么好方法,printf实在局限,流于表面,只间表象(值、范围、规律)不见真身(地址、寄存器、过程),所以想到了gdb——一个强大的调试工具,还能看汇编代码,现在先把这两天学的常用的命令做一个小结,以后有用到的可能再来更新一下:括号内为全称补全,缩写全称均可用。例:(e)x(amine)表示既可以用...
2018-10-04 22:12:52
248
原创 C++面试题
1.写出判断ABCD四个表达式的是否正确, 若正确, 写出经过表达式中 a的值int a = 4;(A)a += (a++); (B) a += (++a) ;© (a++) += a;(D) (++a) += (a++);a = ?答:C错误,左侧不是一个有效变量,不能赋值,可改为(++a) += a;改后答案依次为9,10,10,11我在linux下编译,D也是错误的,可能某些编译器会...
2018-10-04 22:12:18
532
转载 C/C++面试题
5、请简述以下两个for循环的优缺点(5分) for (i=0; i<N; i++){if (condition) DoSomething();else DoOtherthing();}优点:程序简洁 缺点:多执行了N-1次逻辑判断,并且打断了循环“流水线”作业,使得编译器不能对...
2018-10-04 20:15:33
154
转载 C++中指针常量和常量指针的区别
在C++学习使用过程中,每个人都不可避免地使用指针,而且都或多或少的接触过常量指针或指针常量,但是对这两个的概念还是很容易搞糊涂的。本文即是简单描述指针常量和常量指针的区别。常量指针定义: 又叫常指针,可以理解为常量的指针,也即这个是指针,但指向的是个常量,这个常量是指针的值(地址),而不是地址指向的值。 关键点: 1.常量指针指向的对象不能通过这个指针来修改,...
2018-10-04 15:38:34
1522
原创 给定一个整型变量a,写两段代码,第一个设置a的bit 3,第二个清a的bit 3,在以上两个操作中,要保持其他位不变。
#define BIT3 (0x1 &lt;&lt; 3) static int a; //设置a的bit 3: void set_bit3(void) { a |= BIT3; } //清a的bit 3 void clear_bit3(...
2018-10-04 14:55:38
4122
转载 找工作20问
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/feixiaoxing/article/details/80716693 【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163....
2018-10-02 17:44:46
248
转载 uml
&lt;div class="article-copyright"&gt; 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/feixiaoxing/article/details/80835288 &lt;/div&gt; &lt;link rel="
2018-10-02 17:42:21
167
转载 epoll的使用
&amp;lt;div id=&quot;article_content&quot; class=&quot;article_content clearfix csdn-tracking-statistics&quot; data-pid=&quot;blog&quot; data-mod=popu_307 data-dsm = &quot;post&quot
2018-10-02 17:25:35
205
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人