我有一个 QListView 并分配了一个模型和一个委托。我用它在水平栏中显示图像,如下所示
在发生用户事件时,模型中的数据会更新。其中一个事件会导致图像宽度减小,如下所示 (#4)。
我在相应的索引上发出 dataChanged ,并且仅重新绘制相关的小部件。因此,#4 和 #5 之间有一个未填充的间隙。我认为必须有一种方法来刷新所有可见行 - 但我无法找到它。
我尝试了以下方法,但它们不起作用:
1. viewport()->updateGeometries()
2. viewport()->update()
3. I tried changing the width to see if it refreshes
int curWidth = mp_mylistview->width();
this->mp_mylistview->setFixedWidth(curWidth + 1);
this->mp_mylistview->setFixedWidth(curWidth);
有什么建议么?
注:以上图片仅供参考,并非原图。如果您需要代码,我需要在发布之前过滤掉机密信息。
我所要做的就是emit layoutChanged()
作为后续行动dataChanged()
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)