我有一个带有复选框的项目的 QListWidget,我想遍历所有项目并将它们标记为选中,我试过这个:
void ScaperDialog::CheckAll(void) {
dbg_prnt << "inside " << __func__ <<std::endl;
QListWidget *list = parentWidget()->findChild<QListWidget *>();
if (!list)
std::cerr << "No QListWidget found" << std::endl;
QList<QListWidgetItem *> items = list->findChildren<QListWidgetItem *>();
QList<QListWidgetItem *>::iterator i;
for (i = items.begin();i != items.end(); i++) {
dbg_prnt << (*i)->text.ToString() << std::endl;
}
}
但得到一个编译器错误:
错误:'i.QList::iterator::operator*()->QListWidgetItem::text' 没有类类型
dbg_prnt << (*i)->text.ToString() << std::endl;
,这显然只是打印每个元素,要标记它,我会做(*i)->setChecked(true);
而不是打印它,但我认为这会给我同样的错误。
我如何让这个滚动?