• 5778阅读
  • 6回复

呃- -标题不好取,大家看正文吧OTZ [复制链接]

上一主题 下一主题
离线mewjerry
 
只看楼主 倒序阅读 楼主  发表于: 2010-08-25
— 本帖被 XChinux 执行加亮操作(2010-09-01) —
-。-聊天程序。
窗口
任何人发言的时候都会留下一个这样的东西:
XXX说:XXXXXXX
一个很顺理成章的东西就是用户点击它的名字,可以弹出菜单,私聊啊什么的-。-
-。-虽然看起来很顺理成章,但是想在Qt中实现好像很不方便。

相信做过聊天程序的人不少,但是能把这个实现好的,貌似还没见到。

我的思路本来是想靠一个URL来解决,但是发现URL的实现好像很底层,URL只能链接到qrc、http等等,想要自定义个user://是不大可能(?)

后来就变成和行号挂钩的想法了。如果部件接受右键消息时候根据行号来判断某句话是哪个用户发的,貌似在逻辑上也成立,可惜的是,右键消息不可能传递回来行号,顶多传递回来一个坐标,从坐标到行号貌似会变成很复杂的问题- -||因为这个部件随着聊天信息的不断增多,会出现一个下拉滚动条,然后坐标和行号就彻底脱节了……

于是求解……
离线dbzhang800

只看该作者 1楼 发表于: 2010-08-25
看不懂,难道你的程序
通讯不是直接使用udp 或 tcp么?
聊天窗口不用 QListView或QListWidget?
离线mewjerry
只看该作者 2楼 发表于: 2010-08-25
通讯当然是TCP/UDP二合一,
但没有用QListView,用的是QTextBrowser。
好像该试试用QListView……
离线wvins
只看该作者 3楼 发表于: 2010-08-25
...
你的想法没错,点击URL 连接是能够触发用户事件的。
离线mewjerry
只看该作者 4楼 发表于: 2010-08-25
URL那个路子还是不好走,我决定自定模型/视图类然后增加接口来满足需求,URL点击不好做,干脆变成右键菜单算了……
离线paranoid
只看该作者 5楼 发表于: 2010-08-25
用url没有问题,定义自己的url,然后处理信号anchorClicked就行了
离线water_wf

只看该作者 6楼 发表于: 2010-08-26
可点击的类型很多吧。包括连接,图片,用户名等等,还要单独处理吗
快速回复
限100 字节
 
上一个 下一个