是的,Qt中的QListWidget默认是单列显示的,但可以通过设置其视图模式为QListWidget::IconMode或者QListWidget::IconMode来实现多列显示。例如:
QListWidget *listWidget = new QListWidget();
listWidget->setViewMode(QListWidget::IconMode); // 设置视图模式为IconMode
listWidget->setFlow(QListView::LeftToRight); // 设置水平流布局
listWidget->setWrapping(true); // 允许自动换行
listWidget->setResizeMode(QListView::Adjust); // 调整项大小以适应窗口
// 添加列表项
for (int i = 0; i < 10; ++i) {
QListWidgetItem *item = new QListWidgetItem(QIcon("icon.png"), QString("Item %1").arg(i));
listWidget->addItem(item);
// 添加第二列数据
for (int i = 0; i < listWidget->count(); ++i) {
QListWidgetItem *item = listWidget->item(i);
item->setData(Qt::UserRole, "Second Column Data");
这样就可以在QListWidget中实现两列显示了。注意,为了显示第二列数据,我们使用了setData()
函数将数据存储在Qt::UserRole
角色中。你也可以根据需要进行进一步的定制和修改。
内容由零声教学AI助手提供,问题来源于学员提问
本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://qt.0voice.com/?id=5240