QStringListModel是Qt中的一个模型类,用于存储和管理字符串列表。它继承自QAbstractListModel,可以通过setData()、index()等函数提供数据的读写接口。
使用QStringListModel可以方便地展示一组字符串,并支持动态增加或删除其中的元素。在视图中显示时,每个字符串都会对应到一个行号(row),而列号(column)始终为0。
下面是一个使用QStringListModel实现简单的字符串列表展示的例子:
#include <QApplication>
#include <QListView>
#include <QStringListModel>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QStringListModel model;
model.setStringList(QStringList() << "Apple" << "Banana" << "Cherry" << "Durian");
QListView view;
view.setModel(&model);
view.show();
return a.exec();
}
上述代码创建了一个QStringListModel对象model,并初始化了其存储的四个字符串。然后,将该模型设置为QListView对象view的数据源,并显示出来。
除了上述基本操作之外,QStringListModel还提供了许多其他接口,比如insertRows()、removeRows()等,可以用于动态添加或删除行。此外,还可以通过data()函数获取指定行列位置上的数据内容。
总之,QStringListModel作为Qt框架中常用的模型类之一,在处理字符串列表方面具有很强大的功能和灵活性。