Qt QListWidget在拆分器更改大小时调整内容大小

Qt QListWidget在拆分器更改大小时调整内容大小,qt,qlistwidget,sizehint,Qt,Qlistwidget,Sizehint,我有一个QListWidget,里面有一些小部件: QListWidgetItem* w = new QListWidgetItem(ui->listWidget); ui->listWidget->addItem(w); w->setSizeHint(widget->sizeHint()); ui->listWidget->setItemWidget(w, widget); 但是,在我调整QListWidget(它嵌入到QDockwidget)的大小

我有一个QListWidget,里面有一些小部件:

QListWidgetItem* w = new QListWidgetItem(ui->listWidget);
ui->listWidget->addItem(w);
w->setSizeHint(widget->sizeHint());
ui->listWidget->setItemWidget(w, widget);
但是,在我调整
QListWidget
(它嵌入到
QDockwidget
)的大小之前,一切似乎都很正常。我必须迭代所有项目并手动调整它们的大小,还是有一个简单的技巧


它只是一个列表,其中的项目在左边有一个按钮,在右边有一个按钮。如果列表调整了大小(
QSize
更改),则按钮将隐藏并显示滚动条。我希望根据列表宽度设置项目的大小。

尝试将
resizeMode
属性设置为
Adjust
。这将导致您的
QListWidget
在小部件调整大小时,自动将视图中的所有项目调整为
QListWidget
的大小

请参阅文档。您的代码的结构如下:

QListWidgetItem* w = new QListWidgetItem(ui->listWidget);
w->setSizeHint(widget->sizeHint());
ui->listWidget->setResizeMode(QListView::Adjust);
ui->listWidget->addItem(w);
ui->listWidget->setItemWidget(w, widget);

编辑:根据项目的一致性,您还可以从设置属性中获益<如果设置此属性,则代码>QListView可以优化视图的布局。

为视图使用布局QDockwidget@ratchetfreak我已经做到了。