随笔 - 217  文章 - 1  评论 - 48  阅读 - 64万
07 2010 档案
QtWebkit中如何将网页内容转为图片
摘要:如何将webkit中的渲染结果也就是网页画面转换为图片 用抓图软件当然可以,但是如果要使用Qt代码来实现的话原理也很简单,就是让webkit渲染到一张图片上,而不是一个控件上。代码如下:QSize size = m_page.mainFrame()->contentsSize(); //这个网页的大小 image = QImage(size, QImage::Format_ARGB32_Pr... 阅读全文
posted @ 2010-07-31 17:04 baizx 阅读(3028) 评论(1) 推荐(0) 编辑
Qt/E中只能放在服务器进程中的工作
摘要:Qt/E服务器客户端架构这篇文章中讲到了Qt的架构,服务器进程管理着底层的各种设备,因此有许多工作只能放在Qt/E服务器进程中进行,下面列举一些: 键盘过滤:void QWSServer::addKeyboardFilter (KeyboardFilter*filter)[static]这个是QWSServer的一个静态函数,不需要实例化QWSServer即可访问,这个只是从c++语法角度而言... 阅读全文
posted @ 2010-07-29 09:27 baizx 阅读(715) 评论(0) 推荐(0) 编辑
QtWebkit中浏览器插件的设计-3
摘要:上一篇讲到可以通过扩展QWebPage接口进行动态载入插件,但是插件的接口并没有明确,这一篇通过介绍自定义的接口来实现插件的动态载入。首先是接口的定义:class WebKitPluginInteface {public:virtual ~WebKitPluginInteface(){};virtual QList<QWebPluginFactory::Plugin> plugins(... 阅读全文
posted @ 2010-07-28 00:03 baizx 阅读(1349) 评论(0) 推荐(0) 编辑
QtWebkit中浏览器插件的设计-2
摘要:前一节介绍的插件设计方式中虽然方便,但是其Mime类型只能是application/x-qt-plugin或者application/x-qt-styled-widget,这个有时候可能满足不了实际应用需求,那么另一种就没有这种限制,那可以是任意Mime类型的。这种设计需要重新实现QWebPluginFactory这个纯虚基类。先看看他的声明: 前一节介绍的插件设计方式中虽然方便,但是其Mim... 阅读全文
posted @ 2010-07-27 10:42 baizx 阅读(1777) 评论(0) 推荐(0) 编辑
QtWebkit中浏览器插件的设计-1
摘要:我们都知道浏览器中有一套由Netscape浏览器传承下来的插件接口,包括webkit,firefox都是支持的,但是那个开发起来比较困难,并且是平台相关的,借助于Qt的跨平台的特性,可以方便地为Qt开发出一套跨平台的插件。 QtWebkit中插件可以有两种,一种Mime必须是application/x-qt-plugin或者application/x-qt-styled-widget,而另外一种则... 阅读全文
posted @ 2010-07-26 21:22 baizx 阅读(1817) 评论(0) 推荐(0) 编辑
如何让Qt应用程序只有一个实例
摘要:在实际应用中,我们经常需要让应用程序只有一个实例,再打开新的文档或者页面时,只是替换现在的窗口或者新打开一个标签,而不是重新启动一次应用程序。Qt中是否可以做到这样呢,答案是肯定的,因为Qt本身可以直接调用系统API,肯定可以做到,但是我们希望找到一个跨平台的通用的解决方案。 这就要用到Qt的QLocalSocket,QLocalServer类了,这两个类从接口上看和网络通信socket没有区别... 阅读全文
posted @ 2010-07-25 12:59 baizx 阅读(4608) 评论(0) 推荐(1) 编辑
Qt/E客户端到服务器命令的传递
摘要:服务器负责各种资源的统一管理,而客户端则是各种为用户进行各种服务的地方,用户的各种请求都是在客户端进行真正的处理。而客户端在计算完毕以后要输出结果则必须通过服务器进行。客户端到服务器的请求是表现为QWSCommand的实例,数据通道仍然是Unix域socket。下图列出了客户端到服务器的所有请求,这些请求大部分是使用Qt开发的程序员无须知道的,在移植Qt的过程中也无需做任何改动。 客户端到服务器的... 阅读全文
posted @ 2010-07-23 13:53 baizx 阅读(995) 评论(0) 推荐(0) 编辑
通过qt configure -qconfig进一步裁剪
摘要:前一篇讲了可以通过configure脚本来进行配置,但是有许多可以更进一步的配置不能通过configure脚本,或者配置起来非常麻烦,这时就可以借助qconfig工具来进行配置,把不必要的类裁掉,可以看下图qconfig工具截图。可以精确地控制要哪一个类,不要哪一个类,并且自动解决依赖问题, 编辑完毕以后,将自定义的config文件存储到src\corelib\global中,并且以qconfi... 阅读全文
posted @ 2010-07-22 19:07 baizx 阅读(5505) 评论(0) 推荐(0) 编辑
Qt configure脚本说明
摘要:configure脚本功能非常强大,可以通过它对qt进行配置裁剪, 为了编译更快一点可以使用下面参数: -fast 快速配置 -nomake 可以不编译不需要的文件夹,根目录下面的目录都可以过滤 比如 -nomake examples -nomake demos -nomake tools 等等 另外就是一些不需要的模块也可以通过配置脚本来启用或者禁用,除了一些必须的模块像gui,corelib等... 阅读全文
posted @ 2010-07-22 14:35 baizx 阅读(3040) 评论(0) 推荐(0) 编辑
Qt/E服务器到客户端的消息传递
摘要:前面提到的服务器最重要的功能就是对鼠标,键盘,屏幕等资源进行分配管理,尤其是要独占鼠标,键盘等设备,因此服务器要把各种底层设备消息通知到各个客户端进程,目前主流的GUI平台都无一例外采用事件驱动模型,这些消息正是其事件的主要来源,在其内部表示为QWSEvent,所有具体的消息(事件)都是其子类,下图给出了所有的消息(事件): 这里面有很多事件是非常直观的,比如键盘事件,鼠标事件等,而有一些事件就不... 阅读全文
posted @ 2010-07-22 14:27 baizx 阅读(1067) 评论(0) 推荐(0) 编辑
解决 Windows 和 Ubuntu 时间不一致的问题--转载
摘要:大家在切换操作系统的时候会发现一个问题, Windows 和 Ubuntu的时间会出现不一致的情况。在 Windows 中把时间设置正确了过后,回到在 Ubuntu 后系统的时间又不一样了,在 Ubuntu中把时间设置正确后进入 Windows 后,时间又不一致了。出现这种情况的原因是 Windows 和 Ubuntu它们在默认情况下看待硬件时间(主板上的BOIS显示的时间)的方式不一样。 ... 阅读全文
posted @ 2010-07-21 23:04 baizx 阅读(1624) 评论(0) 推荐(0) 编辑
Qt/E客户端服务期间通信--数据串行化
摘要:转载请注明出处: http://www.cnblogs.com/baizx/ Qt是采用C++编写,因此其面向程序员的基本数据结构都是类,而类的数据存储不是连续的,很可能是分散的,因此要在进程之间传递,必须将其串行化,当接收进城收到数据时,在对这些数据进行解析,然后构造可以直接访问的类实例,称之为反串行化。 负责串行化的类为: QWSProtocolItem struct QWSProtocol... 阅读全文
posted @ 2010-07-21 10:52 baizx 阅读(598) 评论(0) 推荐(0) 编辑
Qt/E服务器客户端架构
摘要:Qt/E是专门为嵌入式系统开发的GUI平台,因此它并没有像Qt/X11版一样依赖复杂的X-Server,而是专门针对嵌入式平台特性开发了简化且高效的Server端,底层只支持Frame buffer设备,两者之间的通信方式仍然采用Unix域Socket,但是通信协议相比X11大大简化,这样在保证API一致性的前提下,提供了跨平台的支持。采用专用的服务器客户端架构是Qt/E与桌面系统最大的不同。同时... 阅读全文
posted @ 2010-07-21 10:06 baizx 阅读(8868) 评论(0) 推荐(0) 编辑
Qt/E服务器客户端的通信机制
摘要:Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 Qt/E服务器和客户端的通信机制和X11协议一样都是通过Unix域socket来进行通信的,只不过两者之间具体的协议并不一样,Qt/E使用的协议相对比较简单。服务器到客户端的协议格式是QWSEvent,客户端到服务器的协议格式是QWSCommand。Qt/E中的服务器客户... 阅读全文
posted @ 2010-07-20 15:16 baizx 阅读(654) 评论(0) 推荐(0) 编辑
Qt/E中的键盘设备管理
摘要:转载请注明出处:http://www.cnblogs.com/baizx/ Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 键盘设备在Qt中表现为QWSKeyboardHandler的一个实例,为了支持各种各样的键盘设备,Qt提供了QWSKeyboardHandler接口,各种键盘设备只需要在收到底层操作系统键盘设备的... 阅读全文
posted @ 2010-07-20 14:03 baizx 阅读(1855) 评论(0) 推荐(0) 编辑
adblock plus for webkit
摘要:webkitadblockplus项目旨在为webkit实现一个跨平台的过滤器实现,过滤规则则采用最流行的adblockplus 特 点: 1)采用c++实现,可以和任意webkit 版本集成 2)采用adblock plus规则,由专人对过滤规则进行维护,实时 3)高效:无论是元素隐藏还是内容过滤,查找都是采用高效的哈希查找(速度好像也不很快,呵呵,1000条的规则,每一个url处理居然需要4m... 阅读全文
posted @ 2010-07-18 13:34 baizx 阅读(343) 评论(0) 推荐(0) 编辑
开源协议简介BSD、 Apache Licence、GPL、LGPL、MIT--转载
摘要:当Adobe、Microsoft、Sun等一系列巨头开始表现出对”开源”的青睐时,”开源”的时代即将到来! 最初来自:http://www.sinoprise.com/read.php?tid-662-page-e-fpage-1.html(遗 憾的是这个链接已经打不开了),我基本未改动,只是进行了一些排版和整理。 参考文献:http://www.fsf.org/licensing/license... 阅读全文
posted @ 2010-07-14 14:02 baizx 阅读(1097) 评论(0) 推荐(0) 编辑
Ubuntu的启动配置文件grub.cfg(menu.lst)设置指南-zz
摘要:Ubuntu的启 动配置文件grub.cfg(menu.lst)设置指南 奶牛用的第一个ubuntu版本是9.04,那时候启动配置文件还是menu.lst,到了ubuntu9.10的时候就更名为grub.cfg 了,ubuntu 10.04依旧沿用的是grub.cfg,但是这个文件的内容变更并不是那么大。在ubuntu中,grub.cfg(menu.lst)就相当于 windows系统下的bo... 阅读全文
posted @ 2010-07-12 11:43 baizx 阅读(11314) 评论(0) 推荐(0) 编辑
解决 ssh 登录慢- 转载
摘要:解决 ssh 登录慢 作者:comet 日期:2007-12-05 字体大小: 小 中 大 如果 ssh 登录非常缓慢,输入用户名后要等好一阵先出现提示输入密码。Ubuntu Gusty 默认开启了 SSH 的 DNS反解析,关... 阅读全文
posted @ 2010-07-11 22:27 baizx 阅读(286) 评论(0) 推荐(0) 编辑
qt X11中文显示乱码问题
摘要:一直都是编译Qt/E,今天编译了一版X11版的,居然发现中文不能显示,设置TextCodec也不行,最后觉得可能是字库的问题,看了配置选项发现有一个fontconfig选项,我就强制打开此选项,然后发现fontconfig开发库没有装,配置不通过,装上libfontconfig1-dev,然后重新配置,编译,ok。 阅读全文
posted @ 2010-07-09 19:12 baizx 阅读(1384) 评论(0) 推荐(0) 编辑
Ubuntu硬盘安装光盘ISO镜像包-转载
摘要:Ubuntu硬盘安装光盘ISO镜像包2010-06-16 20:29Ubuntu硬盘安装光盘ISO镜像包2010-06-15 16:48Ubuntu硬盘安装更新了很多版本更新,我本人认为Ubuntu硬盘安装很好使的文件系统,在此向大家推荐。如今技术不断更新,各种使用文件都已经淘汰。我认为还是有很不错的如Ubuntu硬盘安装X值得大家来运用。Ubuntu硬盘安装安装方法其实蛮简单的,你可以刻盘安装,... 阅读全文
posted @ 2010-07-07 23:30 baizx 阅读(4981) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示