Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 我如何告诉QListView调整大小以适应?_Qt_Qlistview - Fatal编程技术网

Qt 我如何告诉QListView调整大小以适应?

Qt 我如何告诉QListView调整大小以适应?,qt,qlistview,Qt,Qlistview,我有一个QListView,并分配了一个模型和一个代理。我用它在水平条上显示图像,如下所示 在用户事件中,数据在模型中更新。一个这样的事件会导致图像的宽度减小,如下所示(#4) 我在相应的索引上发出一个dataChanged,并且只重新绘制相关的小部件。因此#4和#5之间存在一个无法填补的缺口。我想一定有办法刷新所有可见的行,但我找不到它 我尝试了以下方法,但不起作用: 1. viewport()->updateGeometries() 2. viewport()->updat

我有一个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);
有什么建议吗


注:以上图像为图示样本,非原件。如果您需要代码,我需要在发布之前过滤掉机密信息。

我所要做的就是发出layoutChanged(),作为
dataChanged()

的后续操作。您是否尝试设置为
QListView::Adjust
false
?是的。resizeMode设置为调整。uniformItemSizes-我没有更改(默认为false)。我可以看到不同大小的项目。你在小部件中实现了最小大小提示方法吗?@Jay没有。我没有。问题似乎在于小部件之间的间距,而不是小部件的大小——如选择所示。