摘要:
CTRL+Enter发送信息的实现 在现在的即时聊天程序中,一般都设置有快捷键来实现一些常用的功能,类似QQ可以用CTRL+Enter来实现信息的发送。 在QT4中,所有的事件都继承与QEvent这个类,以下是用QEvent来实现快捷键的功能。 ... 阅读全文
摘要:
首先是MinGW调用VC编译出的DLL LZMA SDK 4.65默认是VC项目,懒得再写makefile了,就直接用VS2008编译吧!还好,压缩/解压核心代码是C的,为保证DLL最大兼容性,选用__cdecl,按C代码编译。得到DLL后,需要使用MinGW中自带的dlltool工具将其转为.a文件: dlltool -U -D LZ... 阅读全文
摘要:
需要使Qt程序单例运行,最典型的实现应当是使用共享内存。网上搜一下有无官方实现方法,却无意间跑到了CuteQt的一篇文章中。共享内存(QSharedMemory)实现的单程序运行,当运行环境是UNIX时,并且程序不幸崩溃,会导致共享内存无法释放,从而无法重新运行程序! Unix: QSharedMemory "owns&quo... 阅读全文
摘要:
一直在尝试从单元格的行列索引(QModelIndex)获取其单元格的全局坐标(Global Pos)的方法,以期待在指定单元格附近弹出帮助信息。由View中的columnViewportPosition()和rowViewportPosition()能够把行列值转换为坐标值,但继续用View的mapToGlobal映射坐标到全局坐标却出... 阅读全文
摘要:
单例模式分为“饥汉”和“饿汉”两种版本,也正是线程安全问题使得原本简单的单例模式变得复杂。由于单例模式很常用,Boost库中有强大的泛型单例实现,我也利用Qt的原子指针QAtomicPointer来实现Qt中的单例模式: 双重锁检测在C++... 阅读全文
摘要:
QList算是最常用的集合了,今儿偶然间需要修改QList中的值,结果郁闷了。QList中提供了replace函数来替换item,但不是修改。而at()、value()操作均返回的是const的item引用,无法修改。最后才发现,使用下标([index])才可以获得可修改的item的引用!为啥不给at()或者value()设计可修改的重... 阅读全文
摘要:
通过Delegate创建QCheckBox来实现的Check列,只有在该列进入编辑模式时才能够Check/Uncheck。这显然不是我们想要的,网上翻来翻去,在一个国外论坛中看到了无需Delegate的实现方法,只需重写Model即可: 阅读全文
摘要:
这个星期开始学习Python了,因为看的书都是基于Python2.x,而且我安装的是Python3.1,所以书上写的地方好多都不适用于Python3.1,特意在Google上search了一下3.x和2.x的区别。特此在自己的空间中记录一下,以备以后查找方便,也可以分享给想学习Python的friends. 1.性能 Py3.0运行 pystone benchmark的速度比Py2.5慢30%。G... 阅读全文
摘要:
帮同学搞毕业设计,需要编译移植到Windows平台的uCos-ii实时操作系统。导师给的代码是2.52版的uCos-ii。首先我需要编译出一个Demo。昨天恶补了Makefile的语法,简单的写法已经会了。这里拿GNUMake 3.81版为例,来写一个Makefile: 编... 阅读全文
摘要:
STING算法中的网格与查询相关度判定我改为使用中心极限定理(列维-林德伯格)了。列维-林德伯格的公式只有在总体分布近似于正态分布时才比较准确,但没找到更好的公式了。现在毕设基本完工,界面也做好了。只是聚类结果有时候很诡异,难道降维降太猛了?我来说说我的降维方法: 根据句子成分标注,只保留名词和动词。(忘了那篇论文里提到了,说副词没啥用... 阅读全文
摘要:
请看下面这幅截图: 搞了半天,终于发现if后面有个分号!SHIT!屏幕分辨率低的同志们(像我这样用的1024×768的CRT)检查代码时一定要把代码看全了! 阅读全文
摘要:
找到qt安装目录下的mkspecs文件夹,在里面找到你使用的对应版本编译器,打开qmake.conf。稍等: /MD:动态链接多线程库(msvcrt.lib)。使用该选项时,需要用/NODEFAULTLIB选项来忽略掉libc.lib、 libcmt.lib、libcd.lib、libcmtd.lib、msvcrtd.lib库,否则会... 阅读全文
摘要:
昨天磕了一天,没能吧STING算法完工。问题卡在数据正态性检测上了,STING原著论文里提到用X^2假设检验来验证数据的正态性。我搜遍网络,没有找到用C写的源码。自己磕吧,抱着随机数学的书开始写算法,写到一半觉得不对劲。X^2检验正态性是指用的皮尔逊统计量进行的分布拟合检验。而皮尔逊的的统计量在样本量充分大(n>=50)时才近似的... 阅读全文
摘要:
这是开始做核心算法的第二天,主要实现STING层次聚类算法。这算法单独实现倒简单,可毕设要求的是文本聚类,要从文本->预处理->VSM表示->计算权值->成为可以由STING使用的数据。每篇文本中的词都是不定的,文章数也是不定的。要用VSM表示文本,很有难度,在国外网站上找到了个VSM例子: ... 阅读全文
摘要:
昨天调试项目时,突然发现如下消息: QObject::connect: Cannot queue arguments of type 'ERROR_LEVEL' (Make sure 'ERROR_LEVEL' is registered using qRegisterMetaType().) 其中ERROR_LEVEL只是我定义的枚举... 阅读全文
摘要:
继removeDatabase()警告、C++ 传指针还是传引用的困惑、Qt槽可否使用默认参数、诡异的ESC关闭事件以及Qt元类型注册门等一系列波折后,我的corpus creator终于释出了第一个release版!上来就进行各种界面测试,然后来了个8000语料库创建。在贴log前,我先磨叽会儿。corpus creator使用的是经... 阅读全文
摘要:
事情是这样的:今天调试窗体,突然发现按ESC键居然跳过closeEvent()关闭了对话框!我的关闭判断都在closeEvent()里,这直接导致非正常关闭了正在进行的工作。先重建下场景: 调用处: 典型的模态对话框,因为用了exec()。Corpus对话框类中覆盖了closeEvent(),其中父类的closeEvent()为虚函... 阅读全文
摘要:
引用自:http://www.ibm.com/developerworks/cn/linux/guitoolkit/qt/signal-slot/ 的一篇经典文章,是关于Qt的信号和槽的分析的。看年份是2001年,有年头了。 其中: 7.信号与槽不能有缺省参数。 既然signal->slot绑定是发生在运行时刻,那么,从概念上讲使用缺省参数是困难的。下面的用法是不合理的: 是就目前来说是... 阅读全文
摘要:
用C++做了一段时间毕业设计了,突然有一天被困在传指针还是传引用的问题上。后来翻看了《C++ 编程规范》,并结合了项目实际情况,总结出下面结论: 传指针 如果函数保存了地址。例:复制地址给类成员变量、把地址保存在函数内静态局部变量中。 如果参数是可以选的。例:允许传入NULL值。 传引用 如果函数没有保存地址。例:仅修改了参数引用对象... 阅读全文
摘要:
折腾了几天,终于把语料库创建工具CorpusCreator弄的差不多了。线程部分修正了几次,想来应该没问题了。刚才拿来用Debug版挂在调试器下进行了超大规模语料库创建,8000个语料。从头到尾总算是没崩溃,多线程处理的,界面也响应迅速。使用的本机MySql数据库,语料库创建速度达到了130多KB/S!来检查语料库创建结果时,发现少创建... 阅读全文