
业余项目
cdai
这个作者很懒,什么都没留下…
展开
-
Java实现Qt的SIGNAL-SLOT机制
SIGNAL-SLOT是Qt的一大特色,使用起来十分方便。在传统的AWT和Swing编程中,我们都是为要在监听的对象上添加Listener监听器。被监听对象中保存有Listener的列表,当相关事件发生时,被监听对象会通知所有Listener。而在Qt中,我们只需通过connect方法连接两个对象上的方法就可以了,非常方便、优雅地实现了传统的观察者Observer模式。原创 2012-06-04 22:41:32 · 4739 阅读 · 4 评论 -
用Qt开发简单的浏览器(一)
1.代码实现工程目录结构如下:AddressBar类包含了地址栏和按钮两个控件,将地址栏回车和按钮点击信号与goToSite()槽连接。当回车和点击事件发生时,goToSite()将获得Url地址并发送go(QUrl)信号。addressbar.h#ifndef ADDRESSBAR_H#define ADDRESSBAR_H#in原创 2012-05-20 09:00:04 · 42808 阅读 · 136 评论 -
用Qt开发简单的浏览器(二)
一、功能改进经过对QtWebKit的一些学习,对之前的浏览器进行一些改进:1.增加分页显示多个网页的功能。每个分页都是一个QWebView控件,实现对多个网页的加载。2.加入欢迎主页。学习如何创建Qt资源文件,从本地读取欢迎主页的HTML。3.添加了前进Forward和后退Back按钮。4.此外还明确了SIGNAL和SLOT的命名,SLO原创 2012-05-24 22:47:38 · 22687 阅读 · 226 评论 -
ANTLR和StringTemplate实例:自动生成单元测试类
ANTLR和StringTemplate实例:自动生成单元测试类1. ANTLR语法要想自动生成单元测试,首先第一步就是分析被测试类。这里以Java代码为例,用ANTLR对Java代码进行分析。要想靠自己完全手写出一门语言的ANTLR语法文件的复杂程度难以想象,很贴心的是在ANTLR的GitHub网站上列出了很多常见语言的语法文件,例如Java,Sqlite和MySQL的SQL语法等。有了.g4语法原创 2015-05-08 22:05:44 · 6164 阅读 · 0 评论 -
用Groovy和JFreeChart生成报表
编写一个Groovy脚本,定期执行来生成业务报表。这个脚本主要完成三个动作:1. 通过GroovySql从数据库中取出原始数据2. 使用JfreeChart生成柱状图报表3. 使用Apache的common-mail发送邮件package com.cdai.gchartimport groovy.sql.Sqlimpor原创 2013-02-08 15:34:54 · 3120 阅读 · 0 评论 -
VB与Java颜色值的转换
正常的 RGB 颜色的有效范围,是从 0 到 16,777,215 (&HFFFFFF&)。每种颜色的设置值(属性或参数)都是一个四字节的整数。对于这个范围内的数,其高字节都是 0,而低三个字节,从最低字节到第三个字节,分别定义了红、绿、蓝三种颜色的值。红、绿、蓝三种成分都是用 0 到 255 (&HFF) 之间的数表示。因此,可以用十六进制数按照下述语法来指定颜色:&HBBGGR原创 2012-10-14 20:35:05 · 3337 阅读 · 0 评论 -
PSP应用开发入门
一、PSP平台介绍硬件架构SDK官方的SDK网上找不到,可能是收费的,我们可以使用第三方的SDK。据网上介绍,一般有两种方法:psptoolchain+cygwin;devkitpro(不需要cygwin)。这里采用第二种方法。开发语言devkitpro中自带的SDK中都是C语言的头文件和库文件,所以使用C语言进行开发原创 2012-06-25 17:32:59 · 2769 阅读 · 0 评论 -
Java版的Redis
Redis是一个基于Key-value结构的Nosql数据库,它支持各种常见的数据结构以及非常方便的操作,与其说它是一个数据库,不如说它是一个保存各种数据结构的服务器。今天闲来没事,用Java集合类实现了Redis的一些基本功能,算是温习下Java了。1.Redis入门Redis的Key键值为字符串,但是Value值支持许多种类型,如String字符串,List链表原创 2012-06-20 16:12:12 · 7378 阅读 · 4 评论 -
开发一个小工具重温C#经典问题
利用业余时间为公司的国际化开发一个小工具,功能很简单,但可以重新温习C#的一些经典问题。1. 两个基本功能根据源文件和新文件对比,生成对比结果文件。对比结果要包括:新文件中更改的词条、新加的词条、删除的词条。输入文件格式:文件开头有些注释,正文的每行由id号、空格、引号围绕的词条三部分。对比结果文件格式:实例1:txt1.txt(源文原创 2011-12-26 22:53:02 · 3512 阅读 · 0 评论 -
我的第一个Chrome插件:天气预报应用
1.Chrome插件开发基础开发Chrome插件很简单,只要会基本的前台技术HTML、CSS、JS就可以开发了。Chrome插件一般包括两个HTML页面background和popup。background页面只在启动浏览器加载插件时载入一次,它不直接显示出来而是在后台运行。它包含了插件的主要逻辑,收集或处理的结果可以保存到全局变量localStorage中传递给p原创 2012-05-08 21:51:06 · 8369 阅读 · 7 评论 -
贝叶斯公式与拼写检查器
年底工作不是很忙,今天复习了下概率论中贝叶斯的基础知识,动手写了个Java版本的简单的拼写检查器。我们在使用Google时,当我们输入一个错误的单词,经常可以看到Google提示我们是不是要查找什么什么。它是怎样做到的呢?现在我们就来实现一个简单的拼写检查器。1. 什么是贝叶斯公式?来看来自维基百科的定义:贝叶斯定理贝叶斯原创 2011-12-27 22:34:22 · 4753 阅读 · 0 评论 -
Trie的应用及拼写检查器的优化
之前实现的拼写检查器,是用Hash表来保存语言模型(Language Model)。每个单词插入到Hash表时都要先计算一个Hashcode值来作为Id。因此插入一个单词到Hash表(不冲突的情况下)与查询一个单词的效率都是O(len),其中len是单词的长度。我们也可以用一种叫Trie的树形结构来保存语言模型。Trie的结构非常简单,举个简单的例子,对于下面这些单词:an, an原创 2011-12-29 22:11:20 · 3146 阅读 · 0 评论 -
谈技术资料的阅读方法
作为一名程序员,有几种获取知识的渠道,比如本文将要讨论的技术书籍、开源代码、学术论文。这些可能都不是什么秘密,但每个人都有不同的方式和习惯,也就对应有不同的效果和效率。本文就分享下自己这些年来的一些经验,不一定适用每个人,但也许每个人能有些小的触动和收获。1.技术书籍可能程序员都很少读书,因为这个时代就是这样的特点,读书的人在减少。大家更多地从工作日常获得知识,对于程序员来说比如CSDN、Stack原创 2017-09-06 07:59:11 · 1787 阅读 · 4 评论