- 博客(15)
- 资源 (7)
- 问答 (1)
- 收藏
- 关注
原创 Qt国际化
所有用户可视的文本都使用 QString。 字面文本都使用 tr()。 有时在定义某些变量中使用的字符 串,不能使用上述方法,但是为了让Qt提取并翻译该字符串,必须用 某种方法标志出 来。Qt 定义了 QT_TR_NOOP() 和 QT_TRANSLATE_NOOP() 来标志它们。前者用于单个字符串,后者用于多个字符串。比如: QStringList stringsList;stringList << QT_TR_NOOP("Hello")<< QT_TR_NOOP("World");非Qt QObj
2010-12-30 18:26:00 962
原创 Qt容器类
<br />Qt容器类的好处在于,它提供了平台无关的行为,以及隐式数据共享技术。所谓平台无关,即Qt容器类不因编译器的不同而具有不同的实现;所谓“隐式数据共享”,也可以称作“写时复制copy on write”,这种技术允许在容器类中使用传值参数,而不会发生额外的性能损失。 目录[隐藏]1顺序容器1.1QVector<T>1.2QLinkedList<T>1.3QList<T>1.4QStringList1.5QStack<T>1.6QQueue<T>2迭代器2.1Java-style 迭代器2.2STL-
2010-12-30 18:23:00 2233
原创 QMap与QHash
<br /> 关联容器可以保存任意多个具有相同类型的项,且它们由一个键索引。Qt提供两个主要的关联容器类:QMap<K, T>和QHash<K, T>。<br /> QMap<K, T>是一个以升序键顺序存储键值对的数据结构。这种排列使它可以提供良好的查找插入性能及键序的迭代。在内部,QMap<K, T>是作为一个跳越列表(skip-list)来实现执行的。<br /> 在映射中插入项的一种简单方式是调用insert():<br />QMap<QString, int> map;<br />
2010-12-30 18:02:00 18875 2
转载 C++多线程调试和测试的注意事项
<br />在上次的帖子聊了C++多线程的跨平台问题,后来感觉意犹未尽。今天顺便说一下开发C++多线程应用程序时,有关调试和测试的一些注意事项。下面这些注意事项主要是针对C++,不过有些对于其它的语言也适用。<br /> <br /> ★关于设置断点和单步执行<br /> 很多同学非常依赖于调试器的断点功能和单步功能。这在单线程情况下倒还好(不过有些单线程但涉及GUI的程序,也会有点麻烦)。至于多线程程序的调试,这两种手段简直就是噩梦的开始。多线程造成的主要问题大都和竞态条件(Race Conditio
2010-12-27 11:41:00 922
原创 关于默认构造函数的几个错误认识
<br />假期间闲来无事,就下载了某大师的VC++视频资料。在讲到C++时,说是如果程序员没有自己定义默认构造函数,那么编译器会自动为我们产生一个默认的构造函数。 本来这个错误的认识很多程序员都有,不足为奇。但有这么多年编程经验的高手也有这样的错误认识就不禁让我哑然了。<br /> 其实编程语言和我们所用的任何软件没有区别,例如Photoshop、AutoCAD之类。其唯一不同的是我们用的编程语言是基于编译器的,而应用软件是基于我们的编程语言的。<br /> 既然我们所用的软件
2010-12-27 11:29:00 644
原创 typedef
<br />typedef的语法描述 <br />在现实生活中,信息的概念可能是长度,数量和面积等。在C语言中,信息被抽象为int、float和 double<br />等基本数据类型。从基本数据类型名称上,不能够看出其所代表的物理属性,并且int、float和double<br />为系统关键字,不可以修改。为 了解决用户自定义数据类型名称的需求,C语言中引入类型重定义语句<br />typedef,可以为数据类型定义新的类型名称,从而丰富数据类型所包含的属性信息。 <br />typedef的语法描述
2010-12-24 11:11:00 1534
原创 const
<br />C中CONST的使用: <br /> 虽然这听起来很简单,但实际上,const的使用也是c语言中一个比较微妙的地方,微妙在何处呢?请看下面几个问题。 <br /> 问题:const变量 & 常量 <br /> 为什么下面的例子在使用一个const变量来初始化数组,ANSI C的编译器会报告一个错误呢? <br /> const int n = 5; <br /> int a[n]; <br /> 答案与分析: <br /> 1)、这个问题讨论的是“常量”与“只读变量”的区别。常量
2010-12-24 11:10:00 836 2
原创 正则表达式30分钟入门教程
<br />http://blog.csdn.net/lxholding/archive/2007/10/18/1830231.aspx
2010-12-22 18:33:00 430
原创 typedef用法小结
<br />在C语言的情况下,与C++稍有出入。 <br /> 这两天在看程序的时候,发现很多地方都用到typedef,在结构体定义,还有一些数组等地方都大量的用到.但是有些地方还不是很清楚,今天下午,就想好好研究一下.上网搜了一下,有不少资料.归纳一下: <br /> 来源一:Using typedef to Curb Miscreant Code <br /> Typedef 声明有助于创建平台无关类型,甚至能隐藏复杂和难以理解的语法。不管怎样,使用 typedef 能为代码带来意想不到的好处,通
2010-12-22 18:26:00 473
原创 C++中头文件相互包含的几点问题
<br />一、类嵌套的疑问<br />C++头文件重复包含实在是一个令人头痛的问题,前一段时间在做一个简单的数据结构演示程序的时候,不只一次的遇到这种问题。假设我们有两个类A和B,分别定义在各自的有文件A.h和B.h中,但是在A中要用到B,B中也要用到A,但是这样的写法当然是错误的:<br />class B;<br />class A<br />{<br />public:<br />B b;<br />};<br />class B<br />{<br />public:<br />A a;<br /
2010-12-22 13:34:00 492
原创 qt事件过滤器
<br />Qt事件模型一个真正强大的特色是一个QObject 的实例能够管理另一个QObject 实例的事件。 <br />让我们试着设想已经有了一个CustomerInfoDialog的小部件。CustomerInfoDialog 包含一系列QLineEdit. 现在,我们想用空格键来代替Tab,使焦点在这些QLineEdit间切换。 <br />一个解决的方法是子类化QLineEdit,重新实现keyPressEvent(),并在keyPressEvent()里调用focusNextChild()。像
2010-12-20 13:31:00 691
原创 extern
<br />extern 变量 在一个源文件里定义了一个数组:char a[6]; <br /> 在另外一个文件里用下列语句进行了声明:extern char *a; <br /> 请问,这样可以吗? <br /> 答案与分析: <br /> 1)、不可以,程序运行时会告诉你非法访问。原因在于,指向类型T的指针并不等价于类型T的数组。extern char *a声明的是一个指针变量而不是字符数组,因此与实际的定义不同,从而造成运行时非法访问。应该将声明改为extern char a[ ]。 <br
2010-12-17 10:51:00 711
原创 enum枚举类型作为成员变量
<br />Enum是枚举类型。<br />定义形式一:<br />Enum 枚举类型名<br />{枚举常量1(=0),<br />枚举常量2(=0),<br />……<br />}枚举变量1(,枚举变量2,……);<br />如<br />Enum weekday<br />{ Monday=0,Tuesday,Wednesday,Thursday,Friday=9,Saturday,Sunday<br />}today;<br />Weekday 为枚举类型名,today为枚举变量,大括号里面
2010-12-16 10:16:00 9229 1
原创 mplayer slave 模式文档
<br />关于slave模式,MPlayer为后台运行其他程序。不再截获键盘事件,MPlayer会从标准输入读一个换行符(/n)分隔开的命令。<br />要动手尝试slave模式,运行<br /> mplayer -slave -quiet <movie><br />并在控制台窗口输入slave命令。<br />您也可以使用一个fifo文件(命名管道):<br /> mkfifo /tmp/fifofile<br /> mplayer -slave -input file=/tmp/fifofile
2010-12-03 18:01:00 1455 1
原创 Linux下的结束进程有效手段
<br />1. kill<br /> 作用:根据进程号杀死进程<br /> 用法: kill [信号代码] 进程ID<br /> 举例:<br /> [root@localhost ~]# ps auxf |grep httpd<br /> 注意:kill -9 来强制终止退出<br /> 举例 [root@localhost ~]# ps aux |grep gaim<br /> 或者 [root@localhost ~]# pgrep -l gaim 5031
2010-12-03 13:54:00 1279
如何获得鼠标连续的点
2016-02-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人