免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2290 | 回复: 0
打印 上一主题 下一主题

请教大家一个关于qlisybox的信号highlighted(index)的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-03-21 20:46 |只看该作者 |倒序浏览
有20条信息,存储在了20个数组里。
我希望在界面上列一个表,类似于我们常用的电子邮箱的邮件列表一样,将这20条信息列个表,
每一项先赋个序号,然后你点击(单击)表里的每一个条目,就跳出一个对话框之类得东西显示
这个条目对应的数组里的详细信息(可能有多行)。我是这么设表的:
  listbox = new QListBox(this);
      for (int i = 0; i < 20; i++) {
          char str[20];
          sprintf(str, "message %d\n", i);
          listbox->insertItem(str);
      }

这样在界面上就有20条目录了
但是我怎么给每一条目录都指定一个信号呢?
按照qt的中文网站上说的highlighted信号:

void QListBox::highlighted ( int index ) [signal]
This signal is emitted when the user highlights a new current item. index is the index of the highlighted item.

按照这么说,是应该在上面的程序后面加上
connect(listbox,highlight(index),this,SLOT(showmessage()));
还是应该
connect(listbox,highlight(1),this,SLOT(showmessage_1()));
connect(listbox,highlight(2),this,SLOT(showmessage_2()));
.....
connect(listbox,highlight(20),this,SLOT(showmessage_20()));
上面的slot是自己定义的槽,用于构造一个对话框并显示相应的数组信息的

个人觉得因该是第一种,但index不要指定吗?如果指定,就变成了第二种,可如果不需要指定,
我又怎么知道到底是那个条目被选定了(因为我需要知道发出信号的条目的序号来选择相应的数组)?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP