iconMode에서 항목의 격자 레이아웃을 가져 오는 QListWidget의 뷰포트를 고르게 채 웁니다.QListWidget의 gridSize의 크기를 조정하여 항목을 viewPort에 균등하게 채우는 방법은 무엇입니까?
모든 것이 잘 작동하지만 문제는 행의 새 항목이 공간을 확보 할 수 있도록 listWidget이 너비를 확보하기를 기다리는 것입니다. 아래 그림 :
이 내가 크기를 조정하여 응용 프로그램의 런타임에 gridSize을 변경하고 위의 코드에서 지금까지
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();
}
을 시도 것입니다 mainWindow의 너비. 나는 매우 정확하게 변경하기 위해 int 대신 float를 선택했습니다. 또한 330은 listWidget의 각 항목의 너비입니다.
도와주세요.
Qt 5.8을 사용하고 있습니다.
는 전체 폭을 채우거나 제 3의 열을 추가하기 위해 그림 1에서 두 개의 열을 스트레칭하려고 그림 2와 같이 자른 것입니까? 또는 마지막 문장에서 설명한 것처럼 기존의 두 열의 너비에 맞게 창 크기를 조정 하시겠습니까? – SteakOverflow
그 빈 너비를 listview의 gridsize로 나누고 싶습니다. –
그리드 크기와 항목 크기가 다릅니다. –