QListWidget类的用法

本教程通过举例来讲解QListWidget的用法

  • 首先申明一个QListWidget类,通过setSelectionMode(),来设置QListWidget的Item选择模式:
listWidget = new QListWidget(this);
listWidget->setSelectionMode(QAbstractItemView::SingleSelection); // 单选,按下ctrl 可以清楚所选择的对象
  • QListWidget添加QListWidgetItem有两种方法,第一种将QListWidgetItem对象设置为父对象
  • 第二种直接使用insertItem()进行插入
    new QListWidgetItem("Oak", listWidget);
	new QListWidgetItem("Fir", listWidget);
	new QListWidgetItem("Pine", listWidget);
    QListWidgetItem* newItem = new QListWidgetItem;
	newItem->setText("Fine");
    listWidget->insertItem(1, newItem); // 将Fine插入到第一行

运行结果如下:

QListWidget类的用法_第1张图片

  •  通过insertItems()插入多个Item对象
QStringList fonts = { "Arial", "Helvetica", "Times" };
listWidget->insertItems(4,fonts);

 运行结果:

QListWidget类的用法_第2张图片

  •  通过takeItem() 删除相应的Item,例如我们删除第0行的Oak
listWidget->takeItem(0);

 运行结果:

QListWidget类的用法_第3张图片

  •  使用count() 输出QListWidget中QListItem的数量
qDebug() << listWidget->count() << endl;

运行结果:

QListWidget类的用法_第4张图片

  • currentRow() 函数输出当前对象的位置
void QtWidgetsApplication1::mousePressEvent(QMouseEvent* even)
{
	qDebug() << listWidget->currentRow() << endl;
}

重载一个鼠标事件,来帮助显示行。

QListWidget类的用法_第5张图片

  • 输出双击的Item对象:

在UI界面自定义生成槽函数

void Widget::on_listWidget_doubleClicked(const QModelIndex &index)
{
    qDebug() << "指定的下脚标为:" << index.row() ;
}

运行结果:

 

你可能感兴趣的:(QT,qt,qt5,c++,界面设计)