加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 如何在QListWidget中迭代foreach项

发布时间:2020-12-16 03:45:09 所属栏目:百科 来源:网络整理
导读:我只能在互联网上找到如何循环并获取QListWidget中的每个项目的任何示例 解决方法 int count = listWidget-count();for(int index = 0; index count; index++){ QListWidgetItem * item = listWidget-item(index); // A wild item has appeared} 我想,foreac
我只能在互联网上找到如何循环并获取QListWidget中的每个项目的任何示例

解决方法

int count = listWidget->count();
for(int index = 0;
    index < count;
    index++)
{
    QListWidgetItem * item = listWidget->item(index);
    // A wild item has appeared
}

我想,foreach的事情是完全不同的.

如果您想了解更多相关信息,请查看此信息
http://doc.qt.digia.com/4.2/containers.html#the-foreach-keyword
向下滚动到它谈论foreach关键字的位置.

特别感谢Tomalak Geret’kal添加了我的键盘无法生成的正确字符:)

由于这么多的赞成,我也会在这里解释foreach宏.

foreach是一个Qt特定的C添加,使用预处理器实现.如果要禁用该功能,只需将CONFIG = no_keywords添加到XX.pro文件中即可.

Qt复制了正在迭代的列表,但不要担心性能问题. Qt容器使用隐式共享,其中不复制实际内容.将其视为使用相同实际变量的两个参考变量.这样就可以修改迭代的列表,而不会弄乱循环.请注意,修改列表会强制Qt在第一次修改列表时复制列表的实际内容.

foreach可用于遍历所有Qt基本容器,QList QVector QMap QMultiMap等. QListWidget不是其中之一,所以它不适用于它,遗憾的是.更糟糕的是,QListWidget不提供所有项目的列表,只提供所选项目的列表.有一个叫做items的方法,看起来不错,但是受到了保护.

要循环选定的项目,我认为这将有效

foreach(QListWidgetItem * item,listWidget->selectedItems())
{
    // A wild item has appeared
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读