You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将QListWidget中的可见条目提取生成列表

QListWidget提取可见条目实现方法

核心逻辑:直接调用QListWidgetItem自带的isHidden()方法判断条目显隐状态,遍历全量条目筛选即可,适配任意显隐规则(包括用户自定义输入控制显示数量的场景)。

代码示例

Python(PyQt/PySide全版本通用)

# 初始化可见条目列表
list_of_visible_items = []
# 遍历QListWidget所有条目
for i in range(your_listwidget.count()):
    item = your_listwidget.item(i)
    # 筛选未隐藏的条目
    if not item.isHidden():
        # 如果只需要文本可以替换为 item.text()
        list_of_visible_items.append(item)

print(list_of_visible_items)

C++ Qt 写法

QList<QListWidgetItem*> list_of_visible_items;
// 遍历所有条目
for (int i = 0; i < ui->your_listwidget->count(); i++) {
    QListWidgetItem *item = ui->your_listwidget->item(i);
    if (!item->isHidden()) {
        list_of_visible_items.append(item);
    }
}
// 打印调试示例
qDebug() << list_of_visible_items;

注意事项

  • 如果只需要获取可见条目的文本内容,将代码中添加item的逻辑替换为提取item->text()(C++)/item.text()(Python)即可直接得到字符串列表
  • 动态调整显示数量的场景下,建议在用户输入完成、条目显隐逻辑执行完毕后再调用上述筛选代码,保证拿到的是最新的可见结果
  • 不需要手动计算控件高度、条目坐标做判断,Qt原生的isHidden()接口不受滚动、布局缩放、DPI适配等场景影响,稳定性最高

内容的提问来源于stack exchange,提问作者user16817750

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 21:57:05