QListWidget的IconMode使用setItemWidget,item控件有几率显示异常是怎么回事?
首先我的功能是点击一下按钮就往QListWidget添加一个Item,但是添加两三个后其中一个控件一直不正常(通常是倒数第2个,偶尔会是其它的,甚至两个)
继续添加一次,之前显示不正常的控件又正常了。。。
这是代码
以上问题的排查,
QListWidget使用IconMode,不用setItemWidget来自定义控件一切正常,
QListWidget不用IconMode,使用setItemWidget来自定义控件也一切正常。
后来,我的代码里的QComboBox设置最小大小为80*50,不会出现上面的显示异常,又变成这样子了
我在Qt 5.6.0 以及 5.7 测试了都有这个问题
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
参考代码
效果图
我也出现过 Item显示位置大小不正确的情况,追代码发现是
在Item Layout过程中,代理中updateEditorGeometry采用的style计算的 位置有问题
所以为ListWidget设置个Delegate,覆写updateEditorGeometry方法
void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const
{// option.rect属性中保存了Item的位置
}