摘要: 序言 使用Ubuntu和vim已经有一段时间了,对于Vim下的插件应用,我总是抱着一股狂热的态度。这次,又在网上闲逛着,发现了一个个人博客提到了Vim代码补全这回事,并提到了YouCompleteMe这个插件。顿时激起了我折腾的欲望。以前我都是使用Ctags+或来进行补全,然而其命中率却比较低,有时候根本就乱匹配。于是决定将YouCompleteMe这个插件安装好适用一下,同时,用Vundle也好让我将.vim文件夹下的文件清理一下.一、准备(1)相关链接PPA for vim 7.4.YouCompleteMe插件要求Vim 版本在7.3.584及以上,而Ubuntu13.04源中的Vim已 阅读全文
posted @ 2013-11-21 17:34 24K纯开源 阅读(13933) 评论(13) 推荐(0) 编辑
摘要: Python 3.x与Python 2.x之间存在着较多的语法细节差异。今天在看Python核心编程的时候,说到了自定义迭代器对象。于是动手将源码打了一遍,原书代码如下:class AnyIter(object): def __init__(self, data, safe=False): """ The initialization of iterators """ self.safe = safe self.iter = iter(data) def __iter__(self): """ retur 阅读全文
posted @ 2013-09-09 17:10 24K纯开源 阅读(1234) 评论(0) 推荐(0) 编辑
摘要: 在Linux下安装好Qt 5.0之后,使用Qt Creator创建了一个基于QMainWindow的框架程序。原本应该可以顺利的完成编译工作,因为自带的模板工程没有经过任何修改。可是在编译整个工程的时候发现,总是在make这一步失败,报错具体内容为:Circular <- first dependency dropped.具体内容如下图: 于是初步怀疑是生成的Makefile文件有问题。在网上查了查,大部分都说是Makefile文件中存在循环依赖的问题。可是查来查去。也不知道到底是那一个出现了循环依赖关系。后来终于在ubuntu的官方论坛上看到一个答案:原来,由于我把这个工程命名为了fi 阅读全文
posted @ 2013-07-18 14:23 24K纯开源 阅读(4806) 评论(1) 推荐(0) 编辑
摘要: 1、问题 一个这样的场景:主窗口界面有一个菜单项,点击该菜单项弹出一个对话框。点击对话框上的测试按钮,显示主窗口类中的一个字符串成员的内容。这就是整个窗口传值的需求描述。如何解决呢?首先想到的解决方法自然是使用Qt自带的signal/slot机制。即首先发信号给父窗口,父窗口接到信号执行槽函数发送一个携带所需数据的信号给子窗口。但是疑问来了:要在子窗口中接收到父窗口的信号必须进行signal和slot的绑定。这需要主窗口类的定义(1)。担心头文件的递归包含,我们只好再想另外一个方法。直接在子窗口中利用指向父窗口的指针来访问父窗口类的成员如何?但是,这显然也牵涉到了头文件的递归包含(2)。但,. 阅读全文
posted @ 2013-05-14 15:56 24K纯开源 阅读(6622) 评论(2) 推荐(0) 编辑
摘要: 第一步1、准备好Mysql数据库安装文件,Qt5.0完整的离线安装包,以及Qt5.0的完整的源代码。安装好程序,假设Mysql的安装路径为:C:\MySQL5.5,Qt5.0的安装路径:C:\Qt\Qt5.0.0-rc2\5.0.0-rc2,而Qt5.0的解压路径为:C:\Qt\qt-5.0.1-src。 注意事项:(1)安装mysql数据库的时候,网上很多教程说要选择自定义安装,并把lib和include这个选项选上。其实这个并不重要。因为我机器上很久前装mysql时选的是typical安装的,在安装目录下仍然可以找到lib和include这两个文件夹。安装方式并不重要。(2)Qt5.0是. 阅读全文
posted @ 2013-05-04 21:42 24K纯开源 阅读(2954) 评论(2) 推荐(0) 编辑
摘要: 源地址:http://www.newsonfeeds.com/faq/aggregatorsWeb-based aggregatorsThese are sites that aggregate feeds for reading in a browser.24bytesSimple Blog RSS/Atom aggregator24x7 News24x7 Medical News Aggregator24eyesWeb 2.0 RSS aggregatorAggregatoTag-based RSS/Atom aggregator (R)Alesti Feed ReaderWeb 2.0 阅读全文
posted @ 2013-04-30 20:32 24K纯开源 阅读(942) 评论(0) 推荐(0) 编辑
摘要: 一、准备工作1、下载最新版本的boost库.所在地址:boost_1_53_0.zip.官方推荐7z压缩格式的,因为其压缩效率更好,相应包的大小也比较小。2、解压缩到指定目录,如C:\boost_1_53.下面开始遵照官方页面的步骤进行编译。()进入目录tools\build\v2\运行bootstrap.bat脚本文件运行命令:b2 install--prefix=PREFIX。其中PREFIX是为Boost.Build指定的安装目录,生成的编译工具将会存放在该目录下。我指定为c:\boost_1_53把PREFIX/bin路径加入到系统的环境变量。这时要重启一下命令提示符,以便于应用新的环 阅读全文
posted @ 2013-04-30 16:40 24K纯开源 阅读(2273) 评论(0) 推荐(0) 编辑
摘要: 出处:http://www.embedded.com/electronics-blogs/programming-pointers/4023341/Lvalues-and-RvaluesC and C++ enforce subtle differences on the expressions to the left and right of the assignment operatorIf you've been programming in either C or C++ for a while, it's likely that you've heard th 阅读全文
posted @ 2013-04-26 16:27 24K纯开源 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 使用QT来创建一个系统托盘,事实上是一件很简单的事。为什么这么说?一是因为QT文档给出了比较详细的例子,二是QT的结构比较优雅,设计风格统一。但是在动手之前,我们要从哪里下手?虽然QT文档给出了一个比较详细的例子,但由于功能较多,所以看起来比较费劲。我们在这只是抽丝剥茧,只实现系统托盘这一个功能。首先,使用QT creator创建一个GUI工程,继承于QDialog还是QMainWindow还是QWidget都无所谓。我们以继承QMainWindow为例说明。创建完毕之后,creator将自动生成一些文件,工程文件如下:打开头文件mainwindow.h。在类声明中添加一些必要的成员变量,如下 阅读全文
posted @ 2013-01-25 21:27 24K纯开源 阅读(6142) 评论(1) 推荐(0) 编辑
摘要: 这个问题困扰了我很久。我的电脑上装的CTEX的最新版本,原来我的系统是windows 7 64位系统。装好了CTEX之后,在里面可以直接输入中文,显示和编译生成的PDF文件都正常。但是后来系统崩溃了一次就装回了Windows XP SP3系统。这次装好CTEX之后,发现在WinEdit中输入中文后,竟然是一个个方块。如下图:于是到网上搜了很久,最终找到的都是一些解决方案,都是在文件头部加入“%!Mode::"TeX:UTF-8"”来解决。但是我试了试,发现完全不是这个问题。根本没有一点作用。后来一次搜索到一个解决办法是:改变字体!我琢磨着,改变字体和乱码有什么关系吗?但是无 阅读全文
posted @ 2013-01-18 00:01 24K纯开源 阅读(1529) 评论(0) 推荐(0) 编辑
摘要: ---恢复内容开始--- 我们用QT开发好的应用程序,如果要发布到其他计算机上运行怎么办呢?我们在用VC编程时,单独运行编译好的可执行文件时,经常会发现提示缺少动态库。用QT编程也不例外,在一定程度上,编写好的QT程序会依赖一些动态链接库,包括MSVC运行库,已经QT自身的一些动态链接库。这是由于程序在编译时采用了动态链接的原因。如果我们在编译初期,就设置为静态编译,那么就不会出现这种情况了。动态链接机制是程序开发的一把双刃剑。 既然问题出现了,我们想着解决的办法。很自然的一种想法就是,程序需要链接什么动态库,我们就给它找出来放在一起。有些人可能会问:那我在用IDE开发的时候,无论是Debug 阅读全文
posted @ 2013-01-15 20:14 24K纯开源 阅读(441) 评论(0) 推荐(0) 编辑
摘要: 前面提到,有两种方法可以提取到radio按钮组中当前被选中的按钮(看这里)。这一篇中,我们根据ID来获取按钮。代码: ui->BG->setId(ui->radioButton, 0); ui->BG->setId(ui->radioButton_2, 1); ui->BG->setId(ui->radioButton_3, 2); ui->radioButton->setChecked(true); QRadioButton* pbtn = qobject_cast<QRadioButton*>(ui->BG 阅读全文
posted @ 2013-01-14 15:56 24K纯开源 阅读(5135) 评论(1) 推荐(0) 编辑
摘要: QT中要获取radioButton组中被选中的那个按钮,可以采用两种如下两种办法进行:方法一:采用对象名称进行获取代码: 1 QRadioButton* pbtn = qobject_cast<QRadioButton*>(ui->BG->checkedButton()); 2 QString name = pbtn->objectName(); 3 if(!QString::compare(name, "radioButton")) 4 { 5 QMessageBox::information(this, "Tips", 阅读全文
posted @ 2013-01-14 10:43 24K纯开源 阅读(30147) 评论(0) 推荐(0) 编辑