自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (2)
  • 收藏
  • 关注

原创 QGraphicsView-理论基础

QGraphicsView以下简称:view功能描述:提供一个小部件,用于显示QGraphicsScene的内容。要创建带有几何(形状:圆形、方形、二维三维等)场景,需要参考QGraphicsScene。view也是 Graphics View Framework的一部分。为了可视化场景:构造view对象,将可视化的场景(QGraphicsScene)地址传递给view; 也可以调用setScene(),在之后设置场景; show() view将滚动到场景中心,显示可见项目。QGra

2021-04-26 19:49:27 2845

原创 Qt-QSettings的思考

功能作用:能够提供持久的平台无关的应用配置,主要有两方面内容:1.持久存储应用的配置,例如窗体信息、位置、用户登录时的账号等等,window下可以选择存储在注册表或者ini文件中。2.平台无关性,就是说开发者不需要担心不同平台的存储问题,底层会根据不同操作系统存储适当位置。简单使用:a.写入注册表:void MainWindow::writeSettings(){ //可以将settings对象设置为单例,避免每次使用时都要创建相同参数的对象 //Moose So

2021-03-26 08:58:15 267

原创 Qt connect信号连接的一些思考

基础说明:connect主要用于信号与槽之间的映射连接,它是属于QObject类的函数,同时它是线程安全的日常工作中有两种使用方式,如上图:1.是以SIGNAL(),SLOT()宏来绑定的,最终会将用户传递的信号、槽函数以字符串的形式传递,调用moc文件中的字符串映射表来查找相应的函数地址,最终调用,因此会存在一些问题:问题 1.编译时无法检查,只有在运行时才会报错,找不到槽函数等 2.无法隐式转换,如信号和槽参数必须保持一致,如果信号参数是int,槽函数参数为double

2021-03-25 10:49:22 580 1

原创 linux下Qt中文乱码问题

找了一天的中文乱码解决方案虽然直接对程序设置:QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));QString str = QString::fromLocal8Bit("中文");可以生效,但是可能会影响其它界面的中文显示样式,也许你的程序只是大系统中的一部分因此为了不影响其它功能,推荐对单个字符串进行编码设置:QTextCodec::codeForName("GBK")->toUnicode("中

2021-01-29 17:53:06 2876

原创 More Effective C++ 学习笔记(5)

技术条款25:将constructor和non-member function虚化将函数虚化带来的好处是可以适应变化、可以通过基类指针调用不同子类的重载函数【大部分都会应用的技术】条款26:限制某个class所能产生的对象的数量 0~1个对象: 方法:1.将构造函数声明为private,或者使用单例class Printer{ private: Printer(); ~Printer(); public: //

2020-12-31 17:10:35 144 1

原创 服务数据请求

在日常业务中服务数据请求是很常见的模块,接触到的软件有太多地方需要请求数据,然而每次都是在用的时候增加数据解析和数据请求函数导致整体的源码可读性很差,通常的做法是封装get/post/put接口,然后对数据解析进一步封装,但这种封装很散,会导致不同cpp文件中可能都会散落有数据请求和数据解析。最近在尝试使用策略、模板方法和工厂模式将数据请求的接口进行统一化,结合模板、多态将不同的请求封装成实现类,形成一个完整的继承体系,也不知道这个东西的实用性如何,但以此为节点将这次的优化记录起来也是一种进步,

2020-12-30 13:48:09 192

原创 More Effective C++ 学习笔记(4)

效率一些漠视的简单规则:循环可以手动展开 乘法可以用以为运算代替 减少非必要的对象产生和销毁条款16:谨记8-2法则一个程序80%的资源用在20%的代码身上,软件整体性能几乎总是由构成要素的一小部分决定条款17:考虑使用缓释评估核心点:拖延战术在你真正需要之前,不必着急为某物做一个副本应用场景:引用计数string s1 = "hello";string s2 = s1; //复制运算符如果直接做副本拷贝操作则称之为急式评估

2020-12-29 22:10:51 143 3

原创 More Effective C++ 学习笔记(3)

异常为什么要使用exceptions?exceptions无法被忽略,如果一个函数利用设定状态变量或是利用返回错误码的方式发出异常信号,无法保证此函数调用者会检查错误码,于是程序就会持续下去,从而远离错误点,但是有了exceptions,如果没有被捕获到,则程序会立刻终止。条款9:利用destructors避免内存泄漏即避免使用普通指针而去转向智能指针,或者说将资源封装到对象内,通常便可在异常出现时避免泄漏资源。如下示例:GUI应用软件中的某个函数,必须产生一个窗口显示某些信息:

2020-12-27 21:03:47 417

原创 More Effective C++ 学习笔记(2)

操作符主旨:讨论“重载操作符”被调用的时机、方法、它们的行为,应如何与其它操作符产生关系,以及如何获取“重载操作符”的控制权条款5:对定制的“类型转换函数”保持警觉故名思意,就是在自己提供的类上编写某些函数以便为了编译器拿来作为隐式类型转换用时一定要多加注意,最好不要做这样的操作两种函数可以做到上述点:单自变量constructors 核心点:...

2020-12-27 16:17:43 134

原创 More Effective C++ 学习笔记(1)

基础议题检索:pointers、references、casts(类型转换)、arrays(数组)、constructors(构造函数)条款1:仔细区别pointers和referencesreferences(*)和pointers(->)的差异?没有 null references 【也就是一个引用必须总代表一个对象】//示例:使用引用指向空指针【非法操作】char* pc = 0; //空指针 char& rc = *pc; //引用代表...

2020-12-24 09:10:56 177

原创 你的一天24个小时

如果有一个程序可以用来统计你每天大脑的状态,我想你一定会很惊讶,因为不用想你每天专注做事情的时间比会非常的少,白天不经意的一个念头就可以将你的注意力带走,工作时查资料突然被某个热点吸引于是有思想抛锚,坐了一会发现久坐了于是左动动右动动,无聊了插上耳机听会歌,完了马上就到吃饭时间了,还有很多,聊一会天,喝一口水,上个厕所等等。似乎每天你都在浪费着自己的生命,反反复复,然后累计以后感慨,妈呀,我每...

2019-03-20 23:57:28 283

原创 C++怪咖面试录_20190320

网络篇 咖问:如何区分协议头信息和正文信息: 咖问:哎http很熟悉呀?来,如何区分协议头信息和正文信息? 倒霉蛋:额···没怎么注意呀 时隔N天后查阅到: /r/n/r/n 好吧,貌似抓包的时候有看到这个,哎没多想呀,还会有这种问题,奇葩 咖问:get和post有区别吗...

2019-03-20 23:46:50 130

原创 关于SSH服务的一些有用的命令

1.开启SSH服务:网上的例子都很多,具体开启可以参考以下链接       点击打开链接设置在防火墙不关闭的情况下允许特定的端口建立TCP连接,可以修改iptables的配置文件允许相应的端口:vim   /etc/sysconfig/iptables -A INPUT -p tcp -mstate --state NEW -m tcp --dport 22 -j ACCE

2017-05-10 17:07:37 225

原创 shell脚本编程学习

首先shell脚本的开始必须得知道:#! /bin/bash 或者 #!/bin/shshell脚本中可以使用shell命令作为参数例如:a=` ps ax |grep test |wc -l `注意这个点是ESc按键下面的点,不是和双引号在一块的那个点  定义一个变量如上,取变量的值: $a重定向操作:>   表示覆盖文本的内容            >>

2017-03-28 15:42:13 462

原创 linux多进程框架

"helo world "这是我第一次开始书写关于一些技术类的文章,新手前来报道请多多指教。告别过去,重新的人生,起航。话不多说,第一篇是关于linux下多进程通信用到的比较简单但却不得不用到的代码段,自己姑且将其定义为多进程框架吧,方便以后会用到,对我自己来说,linux最诱人的地方就在于高级编程这一块,比如多进程通信,多线程,和网络编程,日常的小项目中也经常会用的到,所以就感觉这一

2017-02-19 23:06:33 1470 2

QSshLibAndDemo.zip

使用QSsh功能开发的连接远程shell功能,里面有QSsh的源码,和已经生成的lib库

2021-04-11

深入浅出设计模式

2017-04-14

空空如也

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

TA关注的人

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