Qt QListWidget在拆分器更改大小时调整内容大小
我有一个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)的大小
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我已经做到了。