- 论坛徽章:
- 0
|
有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不要指定吗?如果指定,就变成了第二种,可如果不需要指定,
我又怎么知道到底是那个条目被选定了(因为我需要知道发出信号的条目的序号来选择相应的数组)? |
|