• 3262阅读
  • 1回复

用QT开发聊天软件——大家一起进来看看吧 [复制链接]

上一主题 下一主题
离线tlexy
 

只看楼主 倒序阅读 楼主  发表于: 2015-12-08
最近在用QT开发聊天软件,其界面和QQ类似。每条消息都有一个气泡。但有个问题一直困扰着我,就是:如何根据发送的消息的长度和字体不同而设定气泡的大小。我尝试了几个方案,但都行不通。
方案一:使用QWidget作为主界面,然后将消息显示在这里。使用QTextBrowser来显示文字,但问题是,QTextBrowser会有一个默认大小,文字太少了是这样的:




文字太少,而QTextBrowser空白的地方太多。我尝试了几次,好像没有办法使得QTextBrowser的窗口大小自适文字的多少。


方案二:使用QGraphicsView、QGraphicsScene、QGraphicsTextitem来进行排版,在这里QGraphicsTextitem是可以自适应文字的多少,不会显示多余的东西,但问题也来了,1:无法获取QGraphicsTextitem高度,那么气泡这一步也就无法做了;2:QGraphicsTextitem的paintEvent不是公开的方法,无法通过重载来实现绘制气泡。。。。


各位看看有没有一些思想提供下,或者是我上面的错误有错的地方,大家尽管提出来。

离线toby520

只看该作者 1楼 发表于: 2015-12-09
可以参考 开源软件 telegram 去github上面搜关键字 它也是Qt写的 气泡这块写的不错
QtQML多多指教开发社区 http://qtclub.heilqt.com
将QtCoding进行到底
关注移动互联网,关注金融
开发跨平台客户端,服务于金融行业
专业定制界面
群号:312125701   373955953(qml控件定做)
快速回复
限100 字节
 
上一个 下一个