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)```cppQRadioButton* 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可以选择多个itemui->listWidget->setSelectionMode(QAbstractItemView::ExtendedSelection);//有两种方法在ListWidget中添加item//一种在构造item的时候,指定其父WidgetQListWidgetItem* cubby_item = new QListWidgetItem(QIcon(":/res/pix/cubby.png"), tr("Cubby"), ui->listWidget);//第二种方法是在构造完item后,使用QListWidget::additem()来添加itemQListWidgetItem* 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);//实现替换,自定义itemui->listWidget->setItemWidget(button_item, button);//使用QListWidget::count()来统计ListWidget中总共的item数目int item_count = ui->listWidget->count();qDebug() << item_count;
