文章目录
- 1.测试工程配置
- 2. 成员函数
-
- 2.1 void addItem(const QString &label)
- 2.2 void addItem(QListWidgetItem *item)
- 2.3 void addItems(const QStringList &labels)
- 2.4 void openPersistentEditor(QListWidgetItem *item)
- 2.5 void closePersistentEditor(QListWidgetItem *item)
- 2.6 bool isPersistentEditorOpen(QListWidgetItem *item) const
- 2.7int count() const
- 2.8 QListWidgetItem * currentItem() const
- 2.9 int currentRow() const
- 2.10 void editItem(QListWidgetItem *item)
- 2.11 QList<QListWidgetItem *> findItems(const QString &text, Qt::MatchFlags flags) const
- 2.12 void insertItem(int row, QListWidgetItem *item)
- 2.13 void insertItem(int row, const QString &label)
- 2.14 void insertItems(int row, const QStringList &labels)
- 2.15 void sortItems(Qt::SortOrder order = Qt::AscendingOrder)
- 2.16 void setSortingEnabled(bool enable)
- 2.17 bool isSortingEnabled() const
1.测试工程配置
创建名为QtGuiAppTest的qwidget工程,带ui文件
在.ui中拖拽一个QListWidget控件到界面,自动生成对象名称listWidget
2. 成员函数
2.1 void addItem(const QString &label)
(1)功能说明
为列表添加一行,内容为qstring类型的label值
(2)效果展示
(3)调用程序
QtGuiAppTest::QtGuiAppTest(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
ui.listWidget->addItem("test1");
ui.listWidget->addItem("test2");
}
2.2 void addItem(QListWidgetItem *item)
(1)功能说明
为列表添加一行,内容为QListWidgetItem类型的对象,显示该对象的data内容
(2)效果展示
(3)调用程序
QtGuiAppTest::QtGuiAppTest(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
ui.listWidget->addItem(new QListWidgetItem("test1"));
ui.listWidget->addItem(new QListWidgetItem("test2"));
}
(4)备注说明
关于QListWidgetItem的功能说明和使用会在其他文章中介绍
2.3 void addItems(const QStringList &labels)
(1)功能说明
为列表一次性添加多行类型为qstring的对象
(2)效果展示
(3)调用程序
QtGuiAppTest::QtGuiAppTest(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
ui.listWidget->addItems(QStringList() <<"test1_QStringList" <<"test2_QStringList" <<"test3_QStringList");
}
2.4 void openPersistentEditor(QListWidgetItem *item)
(1)功能说明
为列表中指定的行,打开持续编辑功能。打开后该行内容一直处于可编辑状态
(2)效果展示
第一行始终由一个编辑框包括,提示随时可编辑
(3)调用程序
QtGuiAppTest::QtGuiAppTest(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
//先创建两个item
QListWidgetItem* ptest1 = new QListWidgetItem("test1_openPersistentEditor");
QListWidgetItem* ptest2 = new QListWidgetItem("test2");
//item添加进列表
ui.listWidget->addItem(ptest1);
ui.listWidget->addItem(ptest2);
//ptest1打开持续编辑功能,ptest2不打开
ui.listWidget->openPersistentEditor(ptest1);
}
2.5 void closePersistentEditor(QListWidgetItem *item)
(1)功能说明
关闭指定行的持续编辑功能,与openPersistentEditor成员函数对应
2.6 bool isPersistentEditorOpen(QListWidgetItem *item) const
(1)功能说明
判断当前行对象是否是持续可编辑的
2.7int count() const
(1)功能说明
统计列表中的行数
2.8 QListWidgetItem * currentItem() const
(1)功能说明
获取当前选中行的对象
(2)效果展示
在列表中选择不同的行,右侧的label显示选中行的内容
(3)调用程序
QtGuiAppTest.ui
QtGuiAppTest.h
添加槽函数 SlotTestCurrentItem声明
#include <QtWidgets/QWidget>
#include "ui_QtGuiAppTest.h"
class QtGuiAppTest : public QWidget
{
Q_OBJECT
public:
QtGuiAppTest(QWidget *parent