C++ 实现QListWidget多列显示文字数据
时间: 2024-01-10 18:04:45 浏览: 179
要实现QListWidget多列显示文字数据,可以使用QListWidgetItem的setFlags()函数设置QListWidgetItem的属性为Qt::ItemIsSelectable和Qt::ItemIsEnabled,然后使用QListWidget的setItemWidget()函数将QListWidgetItem与自定义的QWidget关联起来,最后将QWidget中的控件设置为水平布局,将需要显示的文字数据添加到控件中即可。
以下是一个简单的示例代码:
```cpp
QListWidget *listWidget = new QListWidget(this);
for(int i = 0; i < numRows; i++){
QListWidgetItem *item = new QListWidgetItem();
item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
QWidget *widget = new QWidget();
QHBoxLayout *layout = new QHBoxLayout(widget);
QLabel *label1 = new QLabel("Column 1 data");
QLabel *label2 = new QLabel("Column 2 data");
layout->addWidget(label1);
layout->addWidget(label2);
item->setSizeHint(widget->sizeHint());
listWidget->addItem(item);
listWidget->setItemWidget(item, widget);
}
```
在上述示例代码中,我们构造了一个包含两列数据的QListWidget,并使用QLabel显示了每列的文字数据。注意,我们通过setLayout()函数将QLabel添加到QWidget中,并使用setSizeHint()函数设置了QListWidgetItem的大小,以便QListWidget能够正确显示每个QListWidgetItem。
阅读全文