0
我想要均勻地填充正在使用的iconMode中的QListWidget的視口來獲取物品的網格佈局。如何調整QListWidget的gridSize以使項目均勻填充viewPort?
一切工作正常,但問題是調整mainWindow時,listWidget等待獲取寬度,使行中的新項目可以獲得空間。顯示在下面的圖片:
這是我試過到目前爲止
void MainWindow::resizeEvent(QResizeEvent* event)
{
if(ui->listWidget->count()>0){
float items_that_can_fill_view = ui->listWidget->width() /(330+ui->listWidget->spacing());
float total_width_of_items = items_that_can_fill_view*330;
float remaining_width = ui->listWidget->width()-total_width_of_items;
float evenly_distributed_width = remaining_width/items_that_can_fill_view;
ui->listWidget->setGridSize(QSize(330+evenly_distributed_width,ui->listWidget->item(0)->sizeHint().height()));
}
event->accept();
}
在上面的代碼通過調整在應用程序運行時我改變了gridSize mainWindow的寬度。我選擇了float而不是int類型來非常精確地進行更改。 330也是listWidget中每個項目的寬度。
請幫忙。
我正在使用Qt 5.8。
你想舒展從圖1中兩列,以填補整個寬度或添加第三列如圖2所示那樣裁剪?還是你想調整窗口的大小以適應上一句中描述的2個現有列的寬度? – SteakOverflow
我想把這個空白寬度分割成listview的網格大小。 –
記住網格大小和項目大小是不同的。 –