摘要:
【1】多重循环编码规范 在多重循环中,必须将最忙的循环放在最内层,以减少CPU切入循环层的次数。 【2】示例代码 1、新建QT默认工程 2、源码 (1)pro文件 (2)mainwindow.h (3)mainwindow.cpp (4)main.cpp 3、运行结果 【3】总结 循环越少越好。如果 阅读全文
摘要:
【1】三种模式 vi的三种模式:命令模式、末行模式、编辑模式。 三种模式相互切换逻辑与命令图: 1.命令模式是vi的默认模式(即每打开一个文件时的初始模式)。 2.命令模式切换至末行模式,末行模式切换至命令模式。 (1)命令模式->末行模式 命令:冒号(英文) (2)末行模式->命令模式 命令1:按 阅读全文
摘要:
【1】源码 工作中,时常会遇到各种各样的异常场景,有些异常场景很常见,必要备录,以防再犯。 分享本案例为:QT创建窗体时parent父窗体传野指针引起异常。 本案例源码如下: 1.1 默认新建一个QT工程(ps:本地QT版本为5.3) (1)工程目录结构 (2)工程pro文件 1.2 实现自定义控件 阅读全文
摘要:
【1】GDB && QString GDB的print命令仅能打印基本数据类型,而像QString这样的复杂类型就无能为力了! 如果调试时不能看QString的值,很让人抓狂!!!幸好,GDB提供了扩展功能,可以自定义宏命令。 把如下自定义的宏命令放到$HOME/.gdbinit文件中,每次启动GD 阅读全文
摘要:
工作问题总结 声明:应用程序代码为前人所写,仅仅只是维护代码,暂且不论代码风格瑕疵。 结论: 使用tr“包”起来的字符串,可能会被翻译为不同的语言,此时,应用程序在不同语言环境下可能会表现BUG。 1.问题及源码追溯过程 2.问题原因 tr翻译后导致字符串查找失败。 如上实例,因为tr“包”起来的字 阅读全文
摘要:
【1】close 与 Qt::WA_DeleteOnClose简介 1.1 Qt源码 1.2 公共槽函数 1.3 帮助文档 1.4 Qt::WA_DeleteOnClose 【2】实例代码 1.1 TWidget.h 1.2 TWidget.cpp 1.3 main.cpp 1.4 TWidget. 阅读全文
摘要:
如果你想了解关于Qt与VS2013开发环境搭建,可以至此翻页。 这里主要分享环境已搭建成功,在构建项目时遇到的报错解决方案。 【1】Qt 与 VS2013开发环境构建时报错 报错界面如下: 注意:对话框左上角的Qt Visual Studio Add-in。 【2】解决方案 为了更充分的解决问题,分 阅读全文
摘要:
【1】类图 类图: 面向对象系统建模中最常用、最重要的图,也是定义其它图的基础。 1.1 作用:主要是用来显示系统中的类、接口及它们之间静态结构和关系的一种静态模型。 1.2 基本组件:类名、属性(变量)、方法(函数)。 1.3 代码中,类定义: 1 class Student 2 { 3 publ 阅读全文
摘要:
【1】滚动条 & 滑块 & 表盘 Qt示例工程: (1)slidergroup.h (2)slidergroup.cpp (3)window.h (4)window.cpp (5)main.cpp 注意:代码已很简洁,没有再加注释。 【2】运行效果 水平滚动条: 垂直滚动条: Good Good S 阅读全文
摘要:
【1】代理应用示例源码 用代码说事,比较靠谱。 代码目录:三个自定义类,重实现QStyledItemDelegate类。main函数应用示例。 (1)ComboDelegate.h (2)ComboDelegate.cpp (3)DateDelegate.h (4)DateDelegate.cpp 阅读全文
摘要:
[程序员八荣八耻] 以动手实践为荣,以只看不练为耻; 以打印日志为荣,以单步跟踪为耻; 以空格缩进为荣,以制表缩进为耻; 以单元测试为荣,以人工测试为耻; 以模块复用为荣,以复制粘贴为耻; 以多态应用为荣,以分支判断为耻; 以Pythonic为荣,以冗余拖沓为耻; 以总结分享为荣,以跪求其解为耻。 阅读全文
摘要:
【1】qDeleteAll应用示例 qDeleteAll源码如下: 示例代码如下: 打印结果如下: 尤其注意打印结果。 可以尝试把2.清空容器行注释掉,然后再运行程序,查看运行结果。 【2】总结 qDeleteAll只负责释放容器元素内存,但没有对容器的置空操作。若无意间二次再执行qDeleteAl 阅读全文
摘要:
【1】lscpu lscpu命令,查看cpu相关的统计信息。 socket 就是主板上插cpu的槽的数目,也就是可以插入的物理CPU的个数(比如上例,可以插入1个CPU)。 core 就是我们平时说的“核“,每个物理CPU可以双核、四核等等(比如上例,每个CPU是6核)。 thread 就是每个co 阅读全文
摘要:
【1】示例代码 用代码说事,比较靠谱。请看下例: 【2】常对象调用常方法 xiaoMing属于常对象。所谓常对象,即就是被const修饰的对象。对于常对象而言,其调用的方法必须是常成员方法。 所谓常成员方法,即就是由const修饰的成员方法。 在常成员方法中,其this指针被const修饰:cons 阅读全文
摘要:
【1】示例代码 项目应用示例: 【2】分析图解 移位运算分析: 【3】移位运算 位运算应用口诀: 清零取位要用与,某位置一可用或;若要取反和交换,轻轻松松用异或。 【4】与移位运算有关的操作符优先级问题 示例代码如下: 常常有人会写这样的表达式:1 << 2 + 3 << 4,其本意是(1 << 2 阅读全文
摘要:
【1】安装源码 声明:要想调试进入Qt源码,必须首先保证我们安装了Qt源码。下面说明安装Qt源码注意事项。 一般安装过程(默认不安装源码): 安装源码过程(需要自己设置,点击“全选”): 综上所述:QtCreator安装完成后,Qt源码也已经安装成功。 【2】配置源码路径 要想调试进入Qt源码,Qt 阅读全文
摘要:
Linux QtCreator 编译报错:No rule to make target 'mainwindow.cpp' needed by 'mainwindow.o'.stop 【1】解决方案 1、打开工程项目的pro文件 2、搜索找到mainwindow.cpp文件的路径 3、切换到工程代码目 阅读全文
摘要:
【1】事件 事件是可以被控件识别的操作。如按下确定按钮、选择某个单选按钮或复选框。 每种控件有自己可识别的事件,如窗体的加载、单击、双击等事件,编辑框(文本框)的文本改变事件等等。 事件就是用户对窗口上各种组件的操作。 【2】Qt事件 由窗口系统或Qt自身产生的,用以响应所发生各类事情的操作。具体点 阅读全文
摘要:
[1] 重新组织你的函数 1.1 Extract Method(提炼函数) 有一段代码可以被组织在一起并独立出来,将这段代码放进一个独立函数中,并让函数名称解释该函数的用途。 1.2 Inline Method(将函数内联化) 一个函数的本体与名称同样清楚易懂。在函数的调用点插入函数本体,然后移除该 阅读全文
摘要:
C++类型转换主要分为两种:隐式类型转换、显式类型转换(强制类型转换)。 【1】隐式类型转换 所谓隐式类型转换,是指不需要用户干预,编译器默认进行的类型转换行为(很多时候用户可能都不知道到底进行了哪些转换)。 隐式类型转换一般分为两种:内置数据类型、自定义数据类型。 [1.1] 内置数据类型(基本数 阅读全文