在开发多进程客户端框架时,在最大化和正常大小切换时,有时候会出现豆腐块图标不出现的情况,如下所示:
正常情况:

最大化:

可以看到,最大化时,报警中心豆腐块图标不见了,而下面这部分其实是个QListWidget的Icon模式。

经过排查发现,主要是setItemWidget后,在最大化和还原的过程中,itemWidget的geometry和对应的QListWidgetItem的geometry不一样导致的,不仅位置不一样,宽和高也不一样。
可以通过为listWidget设置代理的方式进行解决:
PortalItemDelegate *delegate = new PortalItemDelegate(this);
ui.listWidget->setItemDelegate(delegate);
PortalItemDelegate.h中的代码:
#pragma once
#include
修复QListWidget图标丢失

本文介绍了一种解决多进程客户端框架中QListWidget图标在窗口最大化时消失的问题的方法。通过自定义PortalItemDelegate类并调整setItemDelegate来确保图标正确显示。
最低0.47元/天 解锁文章
4981

被折叠的 条评论
为什么被折叠?



