自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 Qt编写端口扫描工具

Qt提供了QTcpSocket类,可以方便地建立TCP连接。利用这一功能,Maixee编写了一个简单地端口扫描工具。软件的功能就是,扫描某一网段的固定端口,如80端口,若目的地址开放了这一端口,那么连接就能建立。通过waitForConnected() 方法,我们就能得知是否连接成功,若成功,我们在输出中加以标记。Maixee利用这个软件,扫了一下校园网里都有哪些网站(PS:学校的导航做的太简单了,好多好网站上了这么多年学都不知道哎%>_<%),效果如下:

2013-08-29 13:37:28 3686 2

翻译 《Qt编程的艺术》——9.1 QtSql模块的结构

QtSql是一个独立的库,如果需要的话,它可以加载附加的插件。不同于QtCore和QtGui,它的内容默认情况下并没有整合进生成的project中。要使用这个库,我们要编辑 .pro文件,添加下列条目:

2013-08-26 18:24:40 1953

翻译 《Qt编程的艺术》——第九章 QtSql模块

现在,我们很难想象有许多软件,没有关系数据库备份他们,还能够正常工作。基于这个原因,Qt在QtSql模块中提供了一系列类,与各种关系数据库管理系统(DBMS)一起工作。关系表(Relational table)和关系查询(Relational query)也作为基础模型被用于Interview中。

2013-08-26 18:08:04 897

原创 aMule代码分析(2)——CFileDataIO类和CFile类

aMule中的类很多,Maixee今天选择了两个比较基础的类,均是跟文件操作有关的,分别是CFileDataIO类和CFile类。其中,前者是基类,后者由它派生而出的。具体的继承关系,可以参考这张图:

2013-08-26 17:53:13 924

原创 aMule代码分析(1)——用doxyfile生成文档

前几天都是用Vim在看代码,可是对于wxWidget的机制不太熟,抓不住程序的运行轨迹,后来学习了GDB,自己猜着设断点,就知道有些类的运行过程了。但是aMule里面类太多,太庞大,Maxiee感觉自己就像在一片大森林里面,面对着成千上万大大小小的植物,要想把每一个品种搞懂,谈何容易啊。

2013-08-26 10:36:31 1330

翻译 《Qt编程的艺术》——8.2.2 实现文件选择对话框里面的功能

在给头文件filedialog.h添加include保护(include guard)后的内容,包含了FileDialog类的声明,我们包含(#include)每一个uic从UI文件生成的类定义。前向类声明使得免于读相应类的头文件(这招貌似只在头文件里有用):

2013-08-23 12:09:49 1773

原创 Maxiee的Vim入门日记(7)——用Vim看aMule代码3

有了Vim在手,看代码也成了一种乐趣,今天Maxiee继续分析aMule的代码,今天的主题是线程。这对于只会编简单程序的Maxiee来说还是个新东西。想想aMule同时间内,既要连接ED2K网络,还要连接KAD网络,同时下载那么多文件,这么多任务就要用到多线程。可是Maixee好像记得,线程开不了太多不是?aMule是怎么弄的呢?

2013-08-22 13:56:12 1083

翻译 《Qt编程的艺术》——8.2.1 在Designer中使用View类

不幸的是,QDirModel有一个严重的限制:因为view不响应鼠标操作,我们不得不自己建立这些功能。除此之外,每个view中,用户都一次只能选择一个元素。如果你想要允许同时选择多个项目,你也必须自己去设置。我们可以通过设计我们自己的文件对话框来修正这些缺点,就好像我们在图8.6中看到的一样。作为一项好的副产品,我们得以熟悉如何在Designer中使用view类。

2013-08-22 11:57:35 1102

翻译 《Qt编程的艺术》——8.2 显示目录层次

现在我们准备通过创建一个小程序来获得关于InterView的实践经验,使用QDirModel和拿来就用的view,来在四个不同的view中显示主目录,如图8.5所示。在代码里,除了例行公事先实例化一个QApplication对象外,我们再实例化一个QDirModel。

2013-08-21 21:54:05 928

原创 Maxiee的Vim入门日记(6)——用Vim看aMule代码2

昨天在 Maxiee的Vim入门日记(5)——用Vim看aMule代码 里,Maxiee分析了wxSingleInstanceChecker这个类型,从中感受到了Vim强大的功能,看代码效率确实提高很多!今天Maxiee继续分析amule.h文件,因为里面的宏定义安排的很巧妙,值得学习。

2013-08-21 12:56:31 949

翻译 《Qt编程的艺术》——8.1.2 模型类(Model Classes)

Qt中所有的模型(Model)都继承自一个公共的抽象基类——QAbstractItemModel类。在这里,抽象的意思是指,这个类不能直接实例化,因为它包含有未实现的方法。程序员只有根据其目的实现缺少的方法,派生一个子类实例化来使用。这就如图8.4所示,每一个模型(Model)也都是一个QObject,因此也能享受到Qt的自动内存管理机制。

2013-08-21 09:42:29 1443

原创 Maxiee的Vim入门日记(5)——用Vim看aMule代码

通过前两天忙忙活活地配置Vim,Maxiee感觉很有趣味,看着一个工具慢慢按照自己地期望变得强大、顺手,让人很有成就感呢!但是工具终归只能是工具,为了配置而配置是没有意义的,工具还是要充分利用起来,发挥出效力,这才是最重要的。于是Maxiee就拿出aMule这个经典的电驴开源软件,一边学代码,一边学Vim的实际使用。

2013-08-20 12:59:09 1194

翻译 《Qt编程的艺术》——8.1.1 显示类(The View Classes)

对于数据的可视化,Interview提供了三个拿来就能用的类,我们可以欣赏一下213页的图8.5的效果

2013-08-20 11:05:52 1000

翻译 《Qt编程的艺术》——5.1 手动布局

在传统的GUI设计中,每个控件(Widget)都要手动地绑定在窗口之上的一个点上(也就是说,这个控件被指定成了给定GUI元素的父对象),同时还要指定这个控件的高度和宽度。作为所有图形元素的基础类,QWidget类提供了setGeometry()方法。这个方法需要4个整型参数:前两个参数指定相对于父控件(parent widget)的x、y坐标,后面两个参数指定控件的高度和宽度。在目前情况下,父控件的最终显示大小可能还未定。

2013-08-18 22:44:31 1398

翻译 《Qt编程的艺术》——第五章 放置控件

尽管你把管理窗口控件(Widget)或者主窗口(Main Window)的工作都交给Qt来管理,但是你还是要在特定的情况下,来使用相应的布局(Layout)。在实际工作中,很少手动管理布局,但是研究一下手动布局对于理解Qt的布局机制是很有好处的。在下面的内容中,我们将来验证。

2013-08-18 21:42:58 749

原创 Maxiee的Vim入门日记(4)——安装windows下的Cscope

在Windows下安装Cscope——Maxiee今天又学到了一个插件——Cscope。Cscope 是一款用于查看大型工程中的代码的软件。它使用方便,支持快速查找 C Symbol、function 等在工程中所有出现的位置,而不用自己手动遍历所有文件,从而提高效率。

2013-08-17 20:57:15 2678

翻译 《Qt编程的艺术》——第八章 使用Interview显示数据

在GUI程序里,数据经常在list和table视图(views)里面展现。在使用list view时,程序员经常采用一种十分简单的方法:单纯地向list里添加值(如说字符串)。可是,按照这种方法,一旦出现重名,list view就区分不出来了。因此Qt4并不支持纯碎基于字符串的list view。 另一种是数据可视的方法是:把list中的每个条目作为独立的对象进行展示。在157页里,我们已

2013-08-17 18:34:26 1133

原创 Qt连续爬取多个网页

Maiee的 Qt编的糗百小爬虫一次只能够抓取糗百热门的第一页,第一页就那么几条,一下子就看完了。于是就想更新一下程序,想能不能把它糗百热门的前十页都爬下来。之前的代码主要是用利用QNetworkAccessManager这个类:首先连接信号:connect(mgr,SIGNAL(finished(QNetworkReply*)),this, SLOT(query(QNet

2013-08-15 22:19:53 2711

原创 Qt编的糗百小爬虫

前几天用python编了一个糗百爬虫,详见 python编的糗百小爬虫。最近用Qt多一些,初学东西还是要把着一个来,Maxiee准备先学好Qt吧。程序界面如下:主要用了QNetworkAccessManager类和QRegExp类。QNetworkAccessManager类负责网络操作,主要是把网页下载下来。QRegExp是正则类,作用是在网页源代码里面抽出我

2013-08-14 17:27:45 3586 1

原创 Maxiee的Vim入门日记(3)——安装winmanager

Maxiee今天看好了这个名为winmanager 的插件,是一个经典Windows样式的IDE插件,今天的目标就是安装winmanager和了!发现了一个Vim.org的镜像站,免佛跳墙就能登录:http://vim.wendal.net ,winmanager可以直接在里面搜索到。下载下来了一个winmanager.zip,里面仍然包含两个目录——doc和plugin,按照 Max

2013-08-14 12:38:23 1587

翻译 Qt网络编程——QtNetwork模块

QtNetwork模块提供了编写TCP/IP客户端和服务器的类。例如QFtp类实现了具体的应用层协议,而QTcpSocket、QTcpServer和QUdpSocket这三个类则实现了底层网络概念。 QNetworkRequest、QNetworkReply和QNetworkAccessManager这三个类使用通常协议执行网络操作,这是顶层类。Qt还提供了QNetworkConfiguratio

2013-08-13 16:14:09 11962

原创 Maxiee的Vim入门日记(2)——安装TagList

昨天Maxiee安装好了第一款插件ctags,今天要再接再励!看了网上的教程,Maxiee决定再安装TagList这个插件。 参考百度百科,Maxiee了解到:TagList插件,是一款基于ctags,在vim代码窗口旁以分割窗口形式显示当前的代码结构概览,增加代码浏览的便利程度的vim插件。通过图中可以看到,TagList就是最左边这一列,它把当前文件

2013-08-13 13:11:41 1041

原创 Maxiee的Vim入门日记(1)——Windows安装Vim7.4和Ctags

Vim7.4出了,微博上吵得沸沸扬扬的,Maxiee也迫不及待地去下载了一个,由于最近做项目在win下,就下载了Windows版本的,其实Maxiee是Linuxer哦。 介于vim.org被和谐了,有的朋友可能访问不到,如果你也需要Windows版本的,用迅雷添加下面链接即可:ftp://ftp.vim.org/pub/vim/pc/gvim74.exe 因为迅雷会帮你找

2013-08-12 17:17:50 2588

原创 python爬虫教程大全

关于python爬虫这方面知识,在网络上有一些教程、文章,很有价值,能够带领新手快速入门。在这里我把自己学习时找到的一些教程列出来,与大家一起分享,欢迎补充!爬虫《一只小爬虫》《一只并发的小爬虫》《Python与简单网络爬虫的编写》《Python写爬虫——抓取网页并解析HTML》《[Python]网络爬虫(一):抓取网页的含义和URL基本构成》《[Python]网络

2013-08-11 11:48:23 3877 1

原创 python编的糗百小爬虫

主要是学习一下正则,实现了最基本的功能,抓取热门的第一页,在此基础上还可以再发挥发挥。import urllib.requestimport redata = urllib.request.urlopen('http://www.qiushibaike.com/hot/page/1').read()prog = re.compile('(.*?)',re.S)prog2

2013-08-11 05:40:11 1176 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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