自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

1+1=10

简简单单,我的小屋...

原创 1+1=2的 blog 文章索引

本blog太乱了?文章相互之间没有关联?,那么从本文开始可能是比较好的^_^。主要内容:本 blog 中和之前发布在其他 blog 中文章的索引。

2011-04-03 23:50:00 25581 35

原创 关于 QDebug 左移操作符重载

从创建了一个自定义类型开始吧:struct Point { Point(int x, int y):x(x),y(y){} int x; int y; }; 如果我们想让其配合QDebug工作,需要重载左移操作符(流操作符) QDebug operator 等等... 在...

2013-07-31 23:41:47 7827 2

原创 KDUpdater 入门 (Qt5)

KDTools (2.3.0) 是KDAB公司的一个Qt4工具包,采用商业、GPL、LGPL 三重授权。 http://www.kdab.com/kdab-products/kd-tools/ 该工具包中包含一个KDUpdater的组件,为Qt程序的自动升级功能提供了一个夸平台的解...

2012-11-02 01:41:50 7812 4

原创 QString 乱谈(3)-Qt5与中文

两个月前,简单写过QTextCodec中的setCodecForTr等终于消失了 (Qt5) ,在Qt论坛上,不少用户都对去掉这两个函数表示特别的不了解。为什么会这样?我想多少能说明不少用户对C++中源码字符集和执行字符集的不太了解,从而造成对这种函数的依赖或误用。 今天,随着Chang...

2012-05-07 15:42:51 40257 7

原创 QString乱谈(2)

长期以来,很多人都清楚,一旦C++源码中直接使用了中文,这样的源码想要跨平台(I18N)会非常困难。 随着: Windows下:MSVC2010成为主流Linux下:GCC升级到4.6 C++中的中文问题 才算有了一个比较优雅的、跨平台的Workaround。 (本文讨论编译器范围:G...

2012-05-07 03:02:23 26965 23

原创 QString 乱谈(1)

一个月前尝试写了一篇关于QStringLiteral,存盘时MoinMoin罢工了。吸取一点经验,还是写成短篇吧 可是,可是,QString不就是简简单单一个字符串么?能有什么可谈的。真的么... (本文范围:Qt4) 字符串比较 如果翻看Qt的源码,或者Qt的(正规一点)第三...

2012-04-27 14:43:53 22098 10

原创 Qt设计模式(第二版):谁最需要本书?

情人节前夕,突然受邀作为本书中文版的审校,心中在惊喜之余,也有些诚惶诚恐。能与闫老师(yfx2003)合作,共同学习与探讨,确是一件幸事;但是自己真的能胜任该工作么?一开始心里还真是没底。不过靠着各位译者的辛勤与认真地工作,本书翻译工作按时完成,并已交稿。该书究竟如何,我们说了不算,最终还需要大家...

2012-03-10 16:01:28 18633 7

原创 QDesktopWidget 乱谈?

在QWidget的众多派生类之中,QDesktopWidget比较特殊的一个(另一个比较特殊的是QAxWidget,定义了信号槽,却不使用Q_OBJECT这个宏)。 我们知道QDesktopWidget的作用就是获取和桌面相关的各种信息。恩,其实,它和QWidget没有多少共同点。 特殊之...

2012-03-09 16:53:47 17233 0

原创 QTextCodec中的setCodecForTr等终于消失了 (Qt5)

在Qt4中,国内很多新手都喜欢——不分青红皂白地使用如下3行代码 QTextCodec::setCodecForTr(...) QTextCodec::setCodecForCStrings(...) QTextCodec::setCodecForLocale(...) 尽管之前零零散...

2012-03-06 17:16:55 78930 29

原创 Template+=fakelib 小记

可能大家或多或少都在qmake的.pro/.pri文件中见过这种代码 TEMPLATE += fakelib MY_NAME = $$qtLibraryTarget(dbzhang800) TEMPLATE -= fakelib 如果真的没见过,或许可以从这儿入手分析与学习Qt S...

2012-03-05 16:24:33 5893 5

原创 美国度量衡单位 小结

简单理理美国常用的度量衡单位,备忘 dbzhang 2012.02.06 重量单位 英美这套东西主要的有好多种(fixme?): 常衡制(Avoirdupois weight) 用于金银、药物以外的一般物品 金衡制(T...

2012-02-07 16:48:36 11004 1

原创 WPF下的布局(Layout、Panel)小记

看了一周多了C#和.NET了,还没有搞清楚 visual C# 中WPF的界面设计器的布局怎么弄,以及常用的控件分别有哪些。 接下来看看WPF中的控件与布局。 继承关系? 没有图片,用表格凑活一下 继承关系 该类继承的Interface ...

2012-01-20 15:55:30 11013 1

原创 C#下.NET配置文件使用(二)

接前面命令行程序下的Settings,继续看看 Visual Studio 创建的 .NET应用程序 与 Settings 相关的东西 app.config 与 Settings.settings 用VC#创建一个GUI程序后,就会有一个 Settings.settings 文件。 ...

2012-01-20 15:45:59 8257 1

原创 C#下.NET配置文件使用(一)

一步一步来,看看.net下的的 Configuration 或者说 Settings 走马观花 System.Configuration 命名空间中的东西是为读写应用程序的配置数据服务的。 在Windows早期,程序使用 .ini 作为配置文件,后来开始鼓励大家使用注册表,到了.NE...

2012-01-20 15:40:54 9015 1

原创 WPF程序编译(从命令行到Visual Studio)

回过头,继续看看 WPF 程序 如何从 仅使用代码 过渡到 使用XAML 呢... 例子 程序文件 编译 (一)只包含代码 program.cs 直接命令行调用csc ...

2012-01-20 15:34:30 5748 1

原创 MSBuild使用初步

了解一下msbuild工程文件的基本结构,作为练习,用它编译一个用到Qt库的C++控制台程序 C#例子 一个简单的例子: // file: hello.cs using System; class CSharpTest { static void Main() { ...

2012-01-20 15:32:36 12494 1

原创 C Sharp与.net学习笔记(四)

接前面MAF,看看MEF插件框架(它是.NET4的组成部分,所以装个Visual C#2010 express) 和 MAF 比起来,这个易用性太高了。只需要定义一个接口,然后Import、Export、Compose就行了... 例子 动手试两个简单的例子: 定义接口 int...

2012-01-16 04:15:32 4089 5

原创 C Sharp与.net学习笔记(三)

先简单了解一下C#下插件框架。插件一般就是定义了某个特定接口的并被动态加载的动态库。应用程序启动后,可以查找(比如某个特定目录)、动态加载、识别(某个特定接口)、使用插件(调用接口函数等)。 现在.net库中有了两套插件的框架: MAF: Managed Add-in ...

2012-01-16 04:14:41 5837 4

原创 C Sharp与.net学习笔记(二)

看看动态库创建与使用相关的东西 生成与使用(托管的)dll dll.cs ==> dll.dll // file: dll.cs public class Calc { public static int Add(int a, int b) ...

2012-01-16 04:13:16 3859 2

原创 C Sharp与.net学习笔记(一)

C#和.net都是零基础,需要一到两周先恶补一点东西,特此记录一下 2012.01.11 C#控制台程序 一个入门用的hello world程序如下: using System; class CSharpTest { static void Main() { ...

2012-01-16 04:10:27 7871 1

原创 QSizeGrip 小记

QSizeGrip 是干嘛用的,Manual中如是说: The QSizeGrip class provides a resize handle for resizing top-level windows. 它一般位于顶级窗口(QMainWindow或QDialog)的右下角 它是...

2011-12-31 16:44:12 7502 3

原创 Qt中连接到同一signal的多个slots的执行顺序问题

in the order they have been connected 起源 前些天忘记在哪儿讨论过这个问题,今天在csdn又看到有网友问这个问题,而其他网友却无一例外的给出了“无序”这个答案。 Manual Qt的问题,当manual中有明确文字说明时,我们应该以...

2011-12-24 21:13:27 9648 3

原创 QMainWindow之Dock Widget若干BUG小记

QTBUG8107 在QMainWindow中,我们可以通过拖动中心窗体和停靠窗体之间的分割线(Sepearator)来改变中心窗口的大小。 QTBUG8107描述这样一个问题: 当通过拖动Sepearator改变了停靠窗体的大小后,一旦我们改变整个QMainWindow窗口的大小时...

2011-12-22 22:54:16 6764 2

原创 QWidget之键盘焦点

在Qt中,键盘事件和QWidget的focus密不可分:一般来说,一个拥有焦点(focus)的QWidget或者grabKeyboard()的QWidget才可以接受键盘事件。 键盘事件派发给谁? 如何确定谁来接收键盘事件,不妨看一点点QApplication的源码: X11下 ...

2011-12-04 00:37:00 9565 1

原创 Qt辅助脚本工具syncqt

距离Qt在Windows下编译时 configure 问题一则已经过了半年了,重新看看syncqt相关的内容。 include目录 安装好Qt后,我们会有 bin\src\lib\include\... 可是,如果下载Qt源码的话,里面并没有include这个目...

2011-11-27 23:09:08 7568 1

原创 从QWindow到QWidget(Qt5)

Qt5下,QWidget系列从QtGui中被剥离出去,成为单独的QtWidget模块。随着Qt Quick2的引入,QtDeclarative也逐渐和QWidget系列也脱离关系。 最终:在Qt5下的GUI编程,有两套不同的东西 QtWidget (使用一个被称为 BackingS...

2011-11-24 23:11:19 19292 4

原创 QWidget之Alien与Native小记

在QWidget 之paint部分杂记提到了从Qt4.4开始,Alien Widget被引入。那么...这是什么东西呢,我们在使用中又可能会感受到什么东西? 用例子来说话似乎比用源码来说话来得容易,所以看例子: 例子 一个小例子: 创建 a -> b -> c -&g...

2011-11-23 23:40:41 10660 5

原创 Qt中的和字节流有关的几个Buffer类

QBuffer 这是Qt的一个公有类,manual中说得很清楚: 为QByteArray提供了一个QIODevice的接口,使得该QByteArray可以作为一个random-accessed的普通文件对待。 所以,此处没多少可说的了。一个具体的例子(同样取自Qt的manual): ...

2011-11-22 23:03:43 9864 3

原创 RS232串口 小记

想搞清楚linux下的终端(Terminal)、设备IO,以及Windows下的设备IO(可提醒IO、IO完成端口等),似乎这个古老的RS232串口还真是一个不错的切入点。所以,从基础开始,看看串口。 注:聆听Oswald Buddenhagen教诲,Windows首字符一定要大写,否则M$可能...

2011-11-22 17:57:44 4560 1

原创 ssh(openssh)小记

SSH(Secure Shell)具有客户端/服务器体系结构。OpenSSH支持SSH协议1和协议2,本文忽略前者。 ssh 客户端 ~/.ssh/config /etc/ssh/ssh_config sshd ...

2011-11-21 00:36:06 3921 0

原创 VirtualBox的网络设置

VirtualBox 可以为每一个虚拟机分配8个网卡。每一个网卡的连接方式可以选为下列之一: Not attachedNetwork Address Translation (NAT)Bridged networkingHost-only networkingInternal network...

2011-11-20 16:25:06 5138 0

原创 Qt下hide()与close()相关的bug一例

本文是 QMainWindow上下文菜单内存泄露(QTBUG) 一文 的续篇,所以你很可能需要先看上文。 前传 问题起源于:QTBUG-7902 在Qt 4.6 下,下面的小程序在显示上下文菜单的情况下会导致程序崩溃。 #include #include #includ...

2011-11-18 23:15:40 5844 2

原创 QEventDispatcherWin32 笔记

额,还是从一个window程序的基本结构看起吧 Win32程序基本结构 注册窗口类别 RegisterClass 创建窗口 CreateWindow 启动由GetMessage和DispatchMessage构成的事件循环 被注册的回调函数 W...

2011-11-15 16:53:14 4915 0

原创 QextSerialPort 小记

每一个在Qt下用过串口的同仁应该都对 QextSerialPort 这个第三方类不会感觉陌生。 http://code.google.com/r/dbzhang800-qextserialport/ 的代码已经合并到主仓库,QextSerialPort-1.2beta1 即将发布,感谢大...

2011-11-09 22:37:52 7503 6

原创 tty、pty、pts等(小记)

整理一下,内容会不太准确,不太严谨。 tty teletypewriter (电传打字机) 终端设备(Terminal) pty pseudo tty 伪终端 pt...

2011-11-06 00:15:45 11921 1

原创 Firefox扩展初接触

本文没涉及如何写一个扩展,而是简单整理一下扩展涉及到的周边的东西。 环境 Profile配置文件的默认位置: Windows %APPDATA%\Mozilla\ Unix/Linux ~/.mozilla...

2011-11-02 23:38:20 1950 0

原创 换行符转换脚本(Python)

似乎,需要整理整理使用的python的脚本了: 很简单的一个东西,在'\n'、'\r\n'、'\r'3中换行符之间进行转换。 用法 usage: eol_convert.py [-h] [-r] [-m {u,p,w,m...

2011-11-02 00:12:35 3991 0

原创 动态库加载路径之RPATH与RUNPATH(小记)

考虑翻译Qt官方blog中的RPATH and RUNPATH这篇文章,在继续之前,我需要先验证自己的理解是正确的,至少能自圆其说,能说服自己。 用例子说话   二进制 对应源码 有一个程序 a...

2011-10-30 11:31:19 17896 5

原创 Log4Qt使用笔记(三)

接前面Log4Qt 使用笔记(一),继续学习一下,关注环境变量和初始化: Logger 在前面,我们提到,除了一个根root之外,还可以有多个命名的Logger存在,为了直观,我们可以看LogManager的成员函数: static Logger * logLogger ()...

2011-10-29 20:02:21 9013 2

原创 Log4Qt 使用笔记(二)

在前面Log4Qt 使用笔记(一)中,我们举例演示了Log4Qt的简单使用。在继续深入学习Log4Qt之前,我想似乎有必要简单整理一下qmake或者说Qt Creator下如何使用Log4Qt这些第三方库的。 本文标题取为:qmake下使用一例(以Log4Qt为例) 可能会更好一点。想想...

2011-10-29 16:47:43 8785 6

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