Jump to Navigation

Welcome!

  NullGet是使用Qt编写的,运行于多种平台的GUI界面的多线程多协议断点续传下载软件。  使用NullGet可以轻松下载网络的多种协议的数据流,加快下载速度,支持断点续传,目前支持的协议有:HTTP,HTTPS,FTP,MMS,RTSP。而且它能运行于当前大多数流行的操作系统,包括Windows,Linux,FreeBSD等。     下载NullGet

  NullFXP 是一个基于Qt 4 开发的SFTP/FTP 客户端软件。目前已经实现基本的多文件上下传功能。详细信息查看本站项目说明页面。     下载nullfxp

  我们的目标是打造一个开源的,跨平台的,多线程的,运行稳定的下载软件,另一个就是整理Qt库开发跨平台GUI应用程序的相关资料。欢迎各位朋友对本站开源项目提供意见及建议,欢迎有兴趣的朋友参与本站开源项目,请联系 drswinghead at gmail dot com

最近通过的C++0x特性

如果说函数式程序设计语言的复兴还未成为主流的话,那么函数式程序设计的重要特征Lambda函数与闭包已经真正成为主流了。

据图灵出版的《Exceptional C++ Style中文版》作者Herb Sutter的报道,C++标准委员会已经投票通过,将Lambda函数与闭包加入C++0x。同时批准的新特性有:

Category:

关于qt程序的内在使用情况的测试

最小的qt控制台程序,内存使用情况: 只链接QtCore, 不链接QtGui
VIRT RES SHR S %CPU %MEM TIME+ COMMAND
9548 2148 1888 S 0.0 0.2 0:00.00 tq

Category:

看了下larbin

larbin是个高效的网络爬虫,可扩充性强,扩充的地方留置了接口。

这个项目虽然好,可已经很久没有更新了,现在的新编译器都编译不了,改了一些代码。

试运行了一下,抓取速度是快。

larbin还有些功能可能加上,它会变的更强大:

分布式抓取。

https支持。

在freebsd 7.0上安装上了kde 4.1.0

通过ports安装,不复杂,但费时间,硬盘空间也用了不少,总算正常启动起来了。

kde4 很好,很强,启动了kde4桌面,感觉不到在用什么系统,所能感受到的只有KDE4。

从安装kde4,到试用了一会,freebsd 做桌面还有很多问题,现在就没法正常使用flash插件看网上视频。

开发环境现在一般只用一个emacs全搞定,也就是开发环境肯定没问题。

2008-06-17
装上了在线歌曲播放器amarok 2.0 alpha 2 版,armarok是基于kde的在线播放器,上面上许多的歌曲源(现在都是英文的),支持直接搜索,支持自己添加歌曲源,支持播放本地音频、视频。
amarok 主页: http://amarok.kde.org/

2008-06-17
装上了 fcitx-3.5 中文输入法。

nullfxp同步模块

文件夹同步算法研究

1) 扫描本地同步目录,记录目录下所有文件.
2)扫描远程同步目录,记录目录下所有文件,并发送到本地端.
3) 不分大小写的排序本地/远程同步目录的文件列表。
4) 通过归并比较,得到四组文件:本地仅有的文件,远程仅有的文件,本地新的文件,远程新的文件。

Category:

OpenGL图象

       OpenGL是一种渲染2D和3D图象的标准API。Qt程序可以使用QtOpenGL模块绘制3D图象,这依赖于系统的OpenGL库。这一节假设你已经熟悉了OpenGL。如果OpenGL对你来说是新的,一个开始学习的好地方是http://www.opengl.org/
       在Qt程序中使用OpenGL绘图是非常直接的:我们必须继承QGLWidget,重新实现几个虚函数,并把程序与QtOpenGL和OpenGL库链接。因为QGLWidget继承自QWidget,我们已经知道的大多数依然可用。主要的不同是我们使用标准的OpenGL函数执行绘图而不是用QPainter。
       为了展示这是如何工作的,我们预览一下图8.17中展示的四面体程序的代码。该程序展示了一个3D的四面体,或者叫四边骰子,它的每一面都使用不同的颜色绘制。用户可以通过按下鼠标并拖动来旋转该四面体。用户也可以通过双击它并从弹出的QcolorDialog选择一种颜色设置其中一面的颜色。
图8.17 四面体程序

Category:

打印

       在Qt中打印与在QWidget, QPixmap, 或者 QImage上绘图相似。它包含下面几步:
1.创建一个QPainter当作一个绘图设置。
2.弹出一个QprintDialog,让用户选择一个打印机并设置几个参数。
3.创建一个在Qprinter上执行操作的QPainter。
4.使用该QPainter绘制一页。
5.调用QPrinter::newPage()前进到下一页。
6.重复第4和5步直到所有页都绘制完毕。

       在Windows和Mac OS X 上,Qprinter使用所在系统的打印机驱动程序。在Unix上,它生成PostScript并把它发送到lp或者lpr(或者到QPrinter::setPrintProgram()所设置的程序)。Qprinter也可通过调用setOutputFormat(QPrinter::PdfFormat)用于生成PDF文件。

图8.12 打印一个QImage

       让我们以一个仅在打印单页的简单例子开始。第一个例子打印一个QImage:

Category:

使用QImage的高质量渲染

       在绘图的时候,我们可能要面对速度和精确的平衡。例如,在X11和Max OS X上,在QWidget或者Qpixmap上绘图依赖于平台的本地绘图引擎。在X11上,要保证与X服务器的通信最少,仅有绘图命令被传递而不是实现的图象数据。这种方法的主要缺点是Qt受平台的本地支持所限制:
在X11平台上,你抗钜齿功能和小型坐标支持仅当X服务器上有Xrender 扩展才可用。
       在 Mac OS X平台上,本地别名图形引擎使用与X11和Windows平台不同的绘制多边形的算法,因而也就有稍微不同的结果。
       当精确比效率更重时,我们可以向一个QImage上绘图并把结果拷贝到屏幕上。这总是使用Qt自己的内部绘图引擎,在所有的平台都能给出一致的结果。唯一的限制是我们要绘制的QImage必须在创建的时候给出QImage::Format_RGB32或者QImage::Format_ARGB32_Premultiplied。

Category:

绘图器变换

       对QPainter的默认坐标系统,点(0,0)位于绘图设备左上角,x坐标向右增长,y坐标向下增长。每个象素占据默认坐标系统中大小为1x1的区域。
       要明白的一个重要事件是一个象素的中心位于“半象素”的地方。例如,左上角象素覆盖的区域在点(0,0)和(1,1)之间,它的中心位于(0.5,0.5)。如果我们要QPainter在(100,100)处画一个象素,它将通过在两个方向平移+0.5个象素把结果进行近似取值,这将导致该点中心被画在(100.5,100.5)。
       这个区别看上去首选是理论上的,但它在实际中也非常重要。首先,平移+0.5仅发生在抗钜齿功能被禁用时(默认是这样的),如果抗钜齿功能是激活的并且我们试图在位置为(100,100)的地方画一个黑色象素,QPainter将把(99.5, 99.5), (99.5, 100.5), (100.5, 99.5), 和 (100.5, 100.5)四个象素将被设置浅灰色,以制造一种象素正好位于四个点汇合处理的假象。如果这种影响是不期望的,我们可以通过指定半象素坐标来避免,如,(100.5, 100.5)。

Category:

使用QPainter进行绘图

       要开始向一个绘图设备上绘图(一般是一个物件),我们仅需要简单地创建一个QPainter并传递一个指向该设备的指针。例如:

Category:

页面

订阅 www.qtchina.tk RSS


Main menu 2

by Dr. Radut