Bea*_*ker 3 qt qlistwidget sizehint
我有一个 QListWidget 里面有一些小部件:
QListWidgetItem* w = new QListWidgetItem(ui->listWidget);
ui->listWidget->addItem(w);
w->setSizeHint(widget->sizeHint());
ui->listWidget->setItemWidget(w, widget);
Run Code Online (Sandbox Code Playgroud)
但是,一切似乎都正常,直到我调整了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);
Run Code Online (Sandbox Code Playgroud)
编辑:根据您的项目的一致性,您也可以从设置uniformItemSizes属性中受益。 QListView如果设置此属性,则可以优化视图的布局。