QListWidget 去掉选中项

  1. 先去掉选中项的虚线框
  2. 设置QlistWidgetItem标志 ```cpp ui->listWidget->setFocusPolicy(Qt::NoFocus);

QListWidgetItem* item = new QListWidgetItem(); item->setText(“1111”); item->setFlags(item->flags() & ~Qt::ItemIsSelectable); ui->listWidget->addItem(item);

  1. <a name="l5I0h"></a>
  2. ## QListWidget 添加复选框(或其他widget)
  3. ```cpp
  4. QRadioButton* radioButton = new QRadioButton(name, this);
  5. QListWidgetItem* item = new QListWidgetItem();
  6. listWidget->addItem(item);
  7. listWidget->setItemWidget(item, radioButton);

QListWidget 其他使用

  1. //ui->listWidget->resize(200,300);
  2. ui->listWidget->setFixedWidth(300);
  3. //设置item图标大小
  4. ui->listWidget->setIconSize(QSize(50, 30));
  5. QListWidgetItem* add_item = new QListWidgetItem(ui->listWidget);
  6. add_item->setIcon(QIcon(":/res/pix/add.png"));
  7. add_item->setText(tr("Add"));
  8. //设置item项中的文字位置
  9. //add_item->setTextAlignment(Qt::AlignHCenter);
  10. //add_item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
  11. //设置viewModel,来确定使用不同的视图进行显示
  12. //使ListWidgetItem中的图标在上,文字在下
  13. //ui->listWidget->setViewMode(QListView::IconMode);
  14. //ui->listWidget->setViewMode(QListWidget::IconMode); //这样的形式也可以
  15. //ui->listWidget->setViewMode(QListView::ListMode);
  16. //改变item大小,使用QListWidgetItem::setSizeHint()
  17. //add_item->setSizeHint(QSize(60,60));
  18. //设置ListWidget可以选择多个item
  19. ui->listWidget->setSelectionMode(QAbstractItemView::ExtendedSelection);
  20. //有两种方法在ListWidget中添加item
  21. //一种在构造item的时候,指定其父Widget
  22. QListWidgetItem* cubby_item = new QListWidgetItem(QIcon(":/res/pix/cubby.png"), tr("Cubby"), ui->listWidget);
  23. //第二种方法是在构造完item后,使用QListWidget::additem()来添加item
  24. QListWidgetItem* dropbox_item = new QListWidgetItem();
  25. dropbox_item->setIcon(QIcon(":/res/pix/dropbox.png"));
  26. dropbox_item->setText(tr("Dropbox"));
  27. ui->listWidget->addItem(dropbox_item);
  28. //向QListWidget中指定的位置插入itemm,使用QListWidget::addItem()
  29. QListWidgetItem* google_item = new QListWidgetItem(QIcon(":/res/pix/google.png"),
  30. tr("Google"));
  31. ui->listWidget->insertItem(1, google_item);
  32. //使用QListWidget::takeItem(int index)来删除表中的某一项
  33. //ui->listWidget->takeItem(0);
  34. //删除item,必须要加上delete item,否则删不掉
  35. //ui->listWidget->removeItemWidget(add_item);
  36. //delete add_item;
  37. //打开和关闭item是否可以编辑,默认不可编辑
  38. //使用QListWidget::openPersistenEditor(QListWidgetItem*)和
  39. //QListWidget::closePersistentEditor(QListWidgetItem*)
  40. //ui->listWidget->openPersistentEditor(cubby_item);
  41. //设置当前的item是第几行
  42. //初始化ListWidget显示时,指向哪一行
  43. ui->listWidget->setCurrentRow(1);
  44. //设置ListWidget是否可以自动排序,默认是false
  45. //ui->listWidget->setSortingEnabled(true);
  46. //设置QLisView大小改变时,图标的调整模式,默认是固定的,可以改成自动调整
  47. //ui->listWidget->setResizeMode(QListView::Adjust);
  48. //设置列表可以拖动,如果想固定不能拖动,使用QListView::Static
  49. //拖动item,进行复制
  50. ui->listWidget->setMovement(QListWidget::Free);
  51. QListWidgetItem* computer_item = new QListWidgetItem();
  52. QString str(tr("Computer"));
  53. computer_item->setData(Qt::DisplayRole, str);
  54. computer_item->setIcon(QIcon(":/res/pix/computer.png"));
  55. ui->listWidget->addItem(computer_item);
  56. QPushButton* button = new QPushButton(tr("Button"));
  57. QListWidgetItem* button_item = new QListWidgetItem();
  58. ui->listWidget->addItem(button_item);
  59. //实现替换,自定义item
  60. ui->listWidget->setItemWidget(button_item, button);
  61. //使用QListWidget::count()来统计ListWidget中总共的item数目
  62. int item_count = ui->listWidget->count();
  63. qDebug() << item_count;