• 25891阅读
  • 46回复

用Qt+qml写了一个qq客户端,采用webqq协议,发出来和大家分享一下---大神请无视 [复制链接]

上一主题 下一主题
离线雨后星辰
 

只看楼主 倒序阅读 楼主  发表于: 2014-11-30
— 本帖被 XChinux 执行加亮操作(2016-04-25) —

首先做以下声明:
  本程序基于腾讯公司的webqq协议开发,所有相关版权归腾讯公司所有。此程序只用于技术交流和学习,不得用于其他方面。
  ---开发者:雨后星辰转载请注明出处,谢谢大家。
  
  此程序使用qml做的界面,c++负责逻辑,名字叫:QQStars。程序理论上来讲支持windows、linux、os x,但是我只测试了windows和linux,其它的可以自测。
  现在功能还不完善,本来是准备实现所有webqq功能的,但是腾讯已经不准备再开发和维护旧的webqq了,服务器应该也会在不久的将来关闭了,所以我放弃了继续开发。
但是基本功能是已经都有了的,光挂Q、聊天是没有任何问题的。
  本着交流和分享的精神,我准备把源代码发上来,希望能对一些学习Qt的有些帮助。下面先让大家看看界面。
 
  这是登录界面,自己加的窗口阴影,后面闪烁的星星使用了qml的粒子系统

这是自己画的一个软键盘,每次点击都会重新布局按键,可以用它放心的输入密码。

这是设置界面,能设置网络代理。

这是登录过程中的界面,可以点击取消回到待登录页面

登录完成后默认显示的界面

展开好友分组(对隐私信息加了马赛克)

这是群列表,由于webqq不支持群分组,所以都在一起

这是讨论组列表,由于讨论组无头像,所以显示的默认图

这是最近联系人列表

这是托盘菜单的样式

这是好友聊天页

这是群聊天页

这是讨论组聊天页

这是新消息提醒,此界面有待美化,莫怪
源码托管在github,下面附上地址:https://github.com/AfterTheRainOfStars/QQStars
23条评分好评度+5贡献值+6金钱+47威望+5
han10509512 贡献值 +1 好厉害,做得很漂亮 2015-11-06
han10509512 金钱 +3 好厉害,做得很漂亮 2015-11-06
疯狂的奶爸 金钱 +10 - 2015-11-02
zuotianyishi 好评度 +1 - 2015-03-31
zuotianyishi 贡献值 +1 - 2015-03-31
zuotianyishi 威望 +1 - 2015-03-31
zuotianyishi 金钱 +10 - 2015-03-31
gtdnegyf01 好评度 +1 - 2014-12-31
gtdnegyf01 贡献值 +1 - 2014-12-31
gtdnegyf01 威望 +1 - 2014-12-31
离线雨后星辰

只看该作者 1楼 发表于: 2014-11-30
希望大家轻喷
离线nongxiaoming

只看该作者 2楼 发表于: 2014-11-30
好厉害,做得很漂亮
离线toby520

只看该作者 3楼 发表于: 2014-11-30
这么厉害啊,牛B啦
QtQML多多指教开发社区 http://qtclub.heilqt.com
将QtCoding进行到底
关注移动互联网,关注金融
开发跨平台客户端,服务于金融行业
专业定制界面
群号:312125701   373955953(qml控件定做)
离线xiaoib

只看该作者 4楼 发表于: 2014-11-30
真是厉害啊!
离线gnibuoz

只看该作者 5楼 发表于: 2014-11-30
赞!佩服佩服!
我就是我,颜色不一样的烟火...
离线tramidu

只看该作者 6楼 发表于: 2014-11-30
给力,楼主厉害啊!
离线foruok

只看该作者 7楼 发表于: 2014-11-30
表示景仰,快站高点,让我45度角仰望一下。
我的博客:http://blog.csdn.net/foruok
我的微信订阅号:程序视界
离线fghfghfgh

只看该作者 8楼 发表于: 2014-11-30
支持楼主 感谢楼主的分享啊
在线圣域天子

只看该作者 9楼 发表于: 2014-12-01
太佩服楼主了~~~~
赞一个

试试设个精华 ...
离线寒夜行人

只看该作者 10楼 发表于: 2014-12-01
很不错啊 学习了
离线雨后星辰

只看该作者 11楼 发表于: 2014-12-01
谢谢大家支持,只是腾讯砍掉了webqq很忧伤
离线rophie

只看该作者 12楼 发表于: 2014-12-01
过来瞻仰一下
离线zhjun5337

只看该作者 13楼 发表于: 2014-12-01
现在谁也不知道webqq协议什么时候就废掉了,而且webqq协议有时候也不怎么太稳定。楼主写的UI特别的赞,但是可能QML的兼容性不是特别的好在kde4的环境下会有点不是特别的正常。
离线雨后星辰

只看该作者 14楼 发表于: 2014-12-02
回 圣域天子 的帖子
圣域天子:太佩服楼主了~~~~
赞一个
试试设个精华 ...
 (2014-12-01 14:04) 

谢谢版主
离线aweeew2008

只看该作者 15楼 发表于: 2014-12-04
太厉害了,赞一个,学习学习
在线realfan

只看该作者 16楼 发表于: 2014-12-06
这个一定要赞一下
离线jj200602

只看该作者 17楼 发表于: 2014-12-08
      好东西呀!
离线dfighoerng

只看该作者 18楼 发表于: 2014-12-08
离线lihaijiaose

只看该作者 19楼 发表于: 2014-12-09
腻害
离线dfighoerng

只看该作者 20楼 发表于: 2014-12-09
输入账号和密码后出现以下错误

开发环境:window7 qt5.3.2 qt-creator

qt create中应用程序输入的内容:
QML debugging is enabled. Only use this in a safe environment.
QxtGlobalShortcut failed to register: "Ctrl+Alt+L"
"设置Ctrl+Alt+L热键出错"
QFSFileEngine::open: No file name specified
couldn't create image from  ""
QFSFileEngine::open: No file name specified
couldn't create image from  ""
QFSFileEngine::open: No file name specified
couldn't create image from  ""
QFSFileEngine::open: No file name specified
couldn't create image from  ""
QFSFileEngine::open: No file name specified
couldn't create image from  ""
QFSFileEngine::open: No file name specified
couldn't create image from  ""
QFSFileEngine::open: No file name specified
couldn't create image from  ""
QFSFileEngine::open: No file name specified
couldn't create image from  ""
QFont::setPointSizeF: Point size <= 0 (0.000000), must be greater than 0
QFSFileEngine::open: No file name specified
couldn't create image from  ""
QFont::setPointSizeF: Point size <= 0 (0.000000), must be greater than 0
QFont::setPointSizeF: Point size <= 0 (0.000000), must be greater than 0
QFont::setPointSizeF: Point size <= 0 (0.000000), must be greater than 0
QFSFileEngine::open: No file name specified
couldn't create image from  ""
QFSFileEngine::open: No file name specified
couldn't create image from  ""
QFSFileEngine::open: No file name specified
couldn't create image from  ""
QSslSocket: cannot call unresolved function TLSv1_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function TLSv1_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function TLSv1_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function TLSv1_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function TLSv1_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function TLSv1_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function TLSv1_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function TLSv1_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function TLSv1_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function TLSv1_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function TLSv1_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function TLSv1_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function TLSv1_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function TLSv1_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function TLSv1_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function TLSv1_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function TLSv1_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function TLSv1_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function TLSv1_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function TLSv1_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function TLSv1_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function TLSv1_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function TLSv1_client_method
QSslSocket: cannot call unresolved function SSL_CTX_new
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function ERR_get_error
QSslSocket: cannot call unresolved function TLSv1_client_method
离线aisq2008

只看该作者 21楼 发表于: 2014-12-10
离线capdi

只看该作者 22楼 发表于: 2014-12-10
    
离线stlcours

只看该作者 23楼 发表于: 2014-12-10
真是够牛叉!!!
离线djnxqc

只看该作者 24楼 发表于: 2014-12-11
离线ggxo619

只看该作者 25楼 发表于: 2014-12-12
厉害,膜拜楼主
离线greathacker

只看该作者 26楼 发表于: 2014-12-12
厉害,围观
离线lbd5788

只看该作者 27楼 发表于: 2015-01-30
楼主!牛!
离线mail863

只看该作者 28楼 发表于: 2015-02-01
赞一个,做的真好
离线hjqhl

只看该作者 29楼 发表于: 2015-04-10
可以播放.gif不?
欢迎大家加入Qt爱好者(QQ群:210068120),我们共同交流,共同进步。
我的博客:http://blog.csdn.net/hjqhl401
离线雨后星辰

只看该作者 30楼 发表于: 2015-05-07
回 hjqhl 的帖子
hjqhl:可以播放.gif不? (2015-04-10 09:31) 

可以的
离线wzguo

只看该作者 31楼 发表于: 2015-06-18
膜拜楼主,
离线l108103t

只看该作者 32楼 发表于: 2015-06-19
很佩服楼主的开源精神
离线chrisforbt

只看该作者 33楼 发表于: 2015-10-24
楼主,登陆不上呢,是不是openssl的版本问题呢?还有那个windows版本的,验证码怎么填都不对的。
离线chrisforbt

只看该作者 34楼 发表于: 2015-10-24
回 chrisforbt 的帖子
chrisforbt:楼主,登陆不上呢,是不是openssl的版本问题呢?还有那个windows版本的,验证码怎么填都不对的。 (2015-10-24 20:14) 

问题解决了:
http://my.oschina.net/chrisforbt/blog/521650
离线z278930050

只看该作者 35楼 发表于: 2015-10-25
          
离线macan

只看该作者 36楼 发表于: 2015-10-29
666,大赞一个

只看该作者 37楼 发表于: 2015-10-29
看起来不错,棒棒哒!
博客地址:https://waleon.blog.csdn.net
微信公众号:高效程序员
QQ 群:242790253
微信群:加微信(iwaleon),邀请入群。

承接各种 C++/Qt/QML 项目,专业的团队,一流的服务,不二的选择!
离线z609932088

只看该作者 38楼 发表于: 2015-11-02
各种流口水,各种膜拜啊啊啊啊啊啊,要搞到源代码学习,学习
有阳光的地方就是青春
离线gwyanping

只看该作者 39楼 发表于: 2015-11-05
编译失败。。。。
/opt/Qt5.4.1/5.4/gcc_64/lib/libQt5WebKit.so:-1: error: undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15'
快速回复
限100 字节
 
上一个 下一个