- add* 函数是将条目添加到末尾,如果要将条目插入到指定行 row 位置,则使用 insert* 函数
- 因为是基于条目的控件,所以列表控件的删除单个条目函数名字是 takeItem():takeItem() 根据行号从列表控件移除一个条目,并返回该条目指针,如果行号不合法,返回 NULL 指针。如果返回的是实际存在的条目,那么需要注意,返回的条目指针需要手动 delete 掉,因为列表控件不再拥有该条目,该条目不会由列表控件析构时自动删除。takeItem() 函数还有第二个用途,因为列表控件没有直接的调整条目前后顺序的函数,可以先将要调整顺序的条目移出来takeItem(),然后再调用 insertItem() 把这个条目插入到新的位置。
- 如果当前没有选中的条目,那么返回的指针为 NULL,返回的序号为 -1 ,代码里要注意判断返回值。
- 如果当前选中的条目发生变化,会触发如下三个信号,可以根据实际用途选择合适的信号:注意参数里的指针有可能为空值,序号可能为 -1,字符串也可能是空串,一定要注意判断非法的参数值。
void QListWidget::currentItemChanged(QListWidgetItem * current, QListWidgetItem * previous) void QListWidget::currentRowChanged(int currentRow) void QListWidget::currentTextChanged(const QString & currentText)
- 如果把列表控件设置成多选模式,那么可以用如下函数获