qt c++中 listWidget 多列显示
时间: 2023-08-01 11:11:17 浏览: 150
在 Qt C++ 中,可以使用 QListWidget 控件来显示多列数据。要显示多列数据,可以将 QListWidget 的显示模式设置为 IconMode,然后设置 QListWidgetItem 的大小和位置。
以下是一个示例代码,可以将 QListWidget 显示为两列数据:
```c++
// 创建 QListWidget,并设置显示模式为 IconMode
QListWidget* listWidget = new QListWidget(this);
listWidget->setViewMode(QListWidget::IconMode);
listWidget->setFlow(QListWidget::LeftToRight);
// 设置 QListWidgetItem 的大小和位置
QListWidgetItem* item1 = new QListWidgetItem(QIcon("image1"), "Item 1");
item1->setSizeHint(QSize(100, 100));
item1->setFlags(item1->flags() ^ Qt::ItemIsSelectable);
listWidget->addItem(item1);
item1->setPos(0, 0);
QListWidgetItem* item2 = new QListWidgetItem(QIcon("image2"), "Item 2");
item2->setSizeHint(QSize(100, 100));
item2->setFlags(item2->flags() ^ Qt::ItemIsSelectable);
listWidget->addItem(item2);
item2->setPos(100, 0);
QListWidgetItem* item3 = new QListWidgetItem(QIcon("image3"), "Item 3");
item3->setSizeHint(QSize(100, 100));
item3->setFlags(item3->flags() ^ Qt::ItemIsSelectable);
listWidget->addItem(item3);
item3->setPos(0, 100);
QListWidgetItem* item4 = new QListWidgetItem(QIcon("image4"), "Item 4");
item4->setSizeHint(QSize(100, 100));
item4->setFlags(item4->flags() ^ Qt::ItemIsSelectable);
listWidget->addItem(item4);
item4->setPos(100, 100);
// 设置 QListWidget 的大小
listWidget->setMinimumSize(200, 200);
listWidget->setMaximumSize(200, 200);
```
这里使用了 setViewMode 函数将 QListWidget 的显示模式设置为 IconMode,setFlow 函数设置图标的排列方向为从左到右。然后,使用 setSizeHint 函数设置 QListWidgetItem 的大小,并使用 setPos 函数设置 QListWidgetItem 的位置。最后,使用 setMinimumSize 和 setMaximumSize 函数设置 QListWidget 的大小。
阅读全文