Qt的QListWidget清空内容出现段错误

1 问题描述

在使用Qt中的QListWidget控件的时候想要刷新其中的内容执行清空操作的时候出现 “段错误 (核心已转储)”。出现这个问题的具体原因看很多人分析是因为在执行清空前QListWidget控件已经connet到槽函数,所以在clear的时候就会出现段错误,具体的原因这里也不做太多分析。

2 解决方法

解决方法其实也很简单,这里参考了博客中评论区下La estonteco博主的回答成功解决了问题。

ui->listWidget->blockSignals(true);
ui->listWidget->clear();
ui->listWidget->blockSignals(false);

用La estonteco的话来说就是使用blockSignals方法暂时阻塞该对象的所有信号,清空完再启用。这样就可以避免重新绑定信号时可能出现的问题。

posted @   好想说点什么  阅读(126)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示