• 6512阅读
  • 9回复

关于聊天软件,怎么才在收第二条消息的时候,不是新开一个窗口 [复制链接]

上一主题 下一主题
离线winmo
 
只看楼主 倒序阅读 楼主  发表于: 2009-11-17
从一个对编程NULL认识的人,到现在眼看着这个用gSOAP做端口,QT做GUI的聊天软件快要大功告成了。

期间一直在这里提问,或多或少都得到了些帮助,谢谢大家。

这个星期打算好好把它完善一下。

这个聊天软件现在收发消息都没有问题了。
只是,我怎么样才能在收到同一个人发出的消息的时候,不用一直弹出新的窗口呢?

因为QThread的 crash问题,我把初始化QDialog放在Client最上面。
现在无论是什么消息都会是弹出新的窗口
怎么样才能控制这个情况呢?

离线winmo
只看该作者 1楼 发表于: 2009-11-17
或者说,怎么判断一个窗口已经建立?
离线dbzhang800

只看该作者 2楼 发表于: 2009-11-18
新建一个窗口后,你不保存它的指针么?
离线rqzrqh

只看该作者 3楼 发表于: 2009-11-18
一个人不是对应一个窗体吗?
建议,启动的时候应该已经分配了多个窗口空间,这几个窗口可以反复用。
当需要显示的界面多于启动时分配的窗口,就新分配空间,而不是新建窗体一次就分配一个。
离线318065268
只看该作者 4楼 发表于: 2009-11-18
加一个管理的程序或类,每次新建一个dialog就加到你的list里面去注册一下,有自己的id号什么的。收到的信息也是统统给你的管理的程序或类,由它分发。
Email  rsail@126.com(私人邮箱)
QQ:   318065268
离线winmo
只看该作者 5楼 发表于: 2009-11-18
具体怎么实现呢?
能说详细点么?
求教了
离线dbzhang800

只看该作者 6楼 发表于: 2009-11-18
引用第5楼winmo于2009-11-18 15:46发表的  :
具体怎么实现呢?
能说详细点么?
求教了

3,4楼已经告诉你两种不同的实现方法了
离线winmo
只看该作者 7楼 发表于: 2009-11-18
那怎么样能够判断,我这个窗口是不是新建的呢?
离线winmo
只看该作者 8楼 发表于: 2009-11-18
问题解决了.
土法炼钢,总觉得方法有点笨。 不过总算行了。

想再问个问题,
怎么样才能把 qListWidget里面的item转换成qString呢?
离线qinyi
只看该作者 9楼 发表于: 2009-11-19
把你创建的窗口指针存放在一个qhash,用key标记这个窗口,来消息时查找key,如果有不创建新窗口,直接发往相应的创建过的窗口中,如果查不到,创建新窗口,并把指针存放在qhash中

我的博客http://school.2embed.com/course/view.php?id=28
C++  QT
嵌入式BBS论坛
http://bbs.2embed.com
快速回复
限100 字节
 
上一个 下一个