QListWidget 去掉选中项
- 先去掉选中项的虚线框
- 设置QlistWidgetItem标志 ```cpp ui->listWidget->setFocusPolicy(Qt::NoFocus);
QListWidgetItem* item = new QListWidgetItem(); item->setText(“1111”); item->setFlags(item->flags() & ~Qt::ItemIsSelectable); ui->listWidget->addItem(item);
<a name="l5I0h"></a>
## QListWidget 添加复选框(或其他widget)
```cpp
QRadioButton* radioButton = new QRadioButton(name, this);
QListWidgetItem* item = new QListWidgetItem();
listWidget->addItem(item);
listWidget->setItemWidget(item, radioButton);
QListWidget 其他使用
//ui->listWidget->resize(200,300);
ui->listWidget->setFixedWidth(300);
//设置item图标大小
ui->listWidget->setIconSize(QSize(50, 30));
QListWidgetItem* add_item = new QListWidgetItem(ui->listWidget);
add_item->setIcon(QIcon(":/res/pix/add.png"));
add_item->setText(tr("Add"));
//设置item项中的文字位置
//add_item->setTextAlignment(Qt::AlignHCenter);
//add_item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
//设置viewModel,来确定使用不同的视图进行显示
//使ListWidgetItem中的图标在上,文字在下
//ui->listWidget->setViewMode(QListView::IconMode);
//ui->listWidget->setViewMode(QListWidget::IconMode); //这样的形式也可以
//ui->listWidget->setViewMode(QListView::ListMode);
//改变item大小,使用QListWidgetItem::setSizeHint()
//add_item->setSizeHint(QSize(60,60));
//设置ListWidget可以选择多个item
ui->listWidget->setSelectionMode(QAbstractItemView::ExtendedSelection);
//有两种方法在ListWidget中添加item
//一种在构造item的时候,指定其父Widget
QListWidgetItem* cubby_item = new QListWidgetItem(QIcon(":/res/pix/cubby.png"), tr("Cubby"), ui->listWidget);
//第二种方法是在构造完item后,使用QListWidget::additem()来添加item
QListWidgetItem* dropbox_item = new QListWidgetItem();
dropbox_item->setIcon(QIcon(":/res/pix/dropbox.png"));
dropbox_item->setText(tr("Dropbox"));
ui->listWidget->addItem(dropbox_item);
//向QListWidget中指定的位置插入itemm,使用QListWidget::addItem()
QListWidgetItem* google_item = new QListWidgetItem(QIcon(":/res/pix/google.png"),
tr("Google"));
ui->listWidget->insertItem(1, google_item);
//使用QListWidget::takeItem(int index)来删除表中的某一项
//ui->listWidget->takeItem(0);
//删除item,必须要加上delete item,否则删不掉
//ui->listWidget->removeItemWidget(add_item);
//delete add_item;
//打开和关闭item是否可以编辑,默认不可编辑
//使用QListWidget::openPersistenEditor(QListWidgetItem*)和
//QListWidget::closePersistentEditor(QListWidgetItem*)
//ui->listWidget->openPersistentEditor(cubby_item);
//设置当前的item是第几行
//初始化ListWidget显示时,指向哪一行
ui->listWidget->setCurrentRow(1);
//设置ListWidget是否可以自动排序,默认是false
//ui->listWidget->setSortingEnabled(true);
//设置QLisView大小改变时,图标的调整模式,默认是固定的,可以改成自动调整
//ui->listWidget->setResizeMode(QListView::Adjust);
//设置列表可以拖动,如果想固定不能拖动,使用QListView::Static
//拖动item,进行复制
ui->listWidget->setMovement(QListWidget::Free);
QListWidgetItem* computer_item = new QListWidgetItem();
QString str(tr("Computer"));
computer_item->setData(Qt::DisplayRole, str);
computer_item->setIcon(QIcon(":/res/pix/computer.png"));
ui->listWidget->addItem(computer_item);
QPushButton* button = new QPushButton(tr("Button"));
QListWidgetItem* button_item = new QListWidgetItem();
ui->listWidget->addItem(button_item);
//实现替换,自定义item
ui->listWidget->setItemWidget(button_item, button);
//使用QListWidget::count()来统计ListWidget中总共的item数目
int item_count = ui->listWidget->count();
qDebug() << item_count;