Jump to Navigation

Qt5

Qt5.0版本

一种Qt5的Ruby语言绑定方式

ruby语言不再那么热门之后,对Qt的绑定项目支持的人数变少,进度比较慢。
自己本着学习llvm/clang和ruby语言的目的,试着实现了一个支持Qt5的ruby语言绑定。

目前该项目的状态是,已经能够使用ruby编写简单的Qt5程序,但还有许多不完善的地方,需求大量后续工作进行完善。

如果有兴趣欢迎参与。

项目代码:https://github.com/kitech/ruby-jit-qt

Category:

另一种Qt的Ruby语言绑定方式

Qt 5.3 正式版发布

Qt 5.3正式版发布了;发布会 click:May 20th, 2014

5.3新特性:

Category:

自己实现类RUDP协议

UDP协议是一种无状态,不可靠协议,这个描述指的是UDP包之间没有前后顺序关系,也不一定所有的包都能达到目标地址。
在UDP协议由于附带额外包数据小,不需要做包验证等特点,UDP协议效率还是比较高的。
所以,RFC结合TCP和UDP两种协议的优点,制订了RUDP协议标准。

RUDP的核心部分包括,加入包编号,包重传,包确认机制,模拟连接操作与断开连接操作。
标准RUDP协议为UDP包加了8字段的状态数据。

我在实现可靠UDP的时候,参考这RFC RUDP协议同标准,实现了包编号,包重传,包确认机制,
但没有实现模拟连接操作与断开操作。

之所以没有实现模拟三次握手连接,是发现连接包与其他数据包发送接收方式并不一致,
需要额外的方式保证连接包的可靠性。因为连接包参与编号和重传的话,控制上比较复杂,
还不如直接发送数据包,加上编号和和重传、确认,系统的可靠性就已经非常好了。

projecttox项目介绍

projecttox旨在实现一个能够替代skype的开源支持视频通话的即时通信IM,
它的目标是简单易用,消息全程加密,保证通信与通话的安全。

在技术上,与skype类似地可大概分为核心部分与界面UI部分。
核心部分实现了主要的网络通信,网络穿透功能,加密安全功能,视频编码功能。
界面部分是基于核心的功能,使用Qt开发,比较容易地实现跨平台功能。

网络部分最开始使用了UDP协议,为了能支持简便的网络穿透功能。
最近,开发工程师正在添加TCP的支持。
可能将来projecttox也会像skype一样,两种网络协议混用。
在不同的功能上使用不同的网络协议,简化代码,提高可靠性与可用性。

目前在网络穿透功能上,核心部分已经实现了非对称防火墙打洞功能,
对称防火墙的打洞正在做理论研究与测试,相信不久之后也能够加入到核心代码。

在分布式网络方面,使用的是类似bittorrent的分布式DHT网络结构,这一点也与skype类似。
但相比skype来说更是一种无中心结点的分布式网络环境。

Category:

关于Qt的应用与定制

很长时间没有写Qt的代码了,这几天又写了一些Qt的代码,
对Qt的的应用,特别是界面部分类的应用,有了一点新的认识。
Qt开发库已经非常成熟强大,不过,对于像软件的写界面部分,
自带的都是比较中规中矩的外观形状。
即使Qt的定制性非常强,如果希望能调整成需要的效果,
还是需要做些扩展功能。
现在开始使用Qt5开发应用,也就使用了Qt5的一些特性,
但本次讲解不以这个Qt5的特性为主,还是以基础的通过窗口类为主。
在本次编写代码过程中,总结出了几个比较实用的窗口定制成果,
1、配置对话框的列表栏
这个涉及到QListWidget类,其实是想把列表栏的图标选项调整高些,
而不是默认的QListWidget行距和默认选中模式。
其实这个很简单, 只需要几行代码,
// 设置listWidget中的项目选中区域
this->uiwin.listWidget->setIconSize(QSize(32,32));

Category:

没时间试qt5

最近qt5发展的相当不错,我却没时间再跟上qt的步伐了。

想起来整整跟了qt4一代,现在扔下可惜,有时间再继续吧。

现在有些演示工具,测试程序还用的qt开发的界面,

偶尔碰到一点迁移到qt5的问题,随手改过来继续用了。

Category:

Qt 5的Android版预览

原文链接:Eskil Abrahamsen BlomfeldtPreview of Qt 5 for Android

迁移Qt 4到Android的第一个代码变更(commit)发生在2009年圣诞节,来自于BogDan Vatra的“Android mkspecs and semaphore”。

Category:

页面

订阅 RSS - Qt5


Main menu 2

by Dr. Radut