QStringListModel

创建模型:

cpp 复制代码
QStringListModel* model = new QStringListModel(this);

初始化列表:

cpp 复制代码
QStringList strList;
    strList << QStringLiteral("北京") << QStringLiteral("上海") << QStringLiteral("天津") << QStringLiteral("河北") << QStringLiteral("山东") << QStringLiteral("四川") << QStringLiteral("重庆") << QStringLiteral("广东") << QStringLiteral("河南");

将列表加进模型:

cpp 复制代码
model->setStringList(strList);

为视图设置模型:

cpp 复制代码
ui.listView->setModel(model);

添加行:

cpp 复制代码
void port::on_addItem_clicked()
{
	model->insertRow(model->rowCount());
	QModelIndex index = model->index(model->rowCount() - 1,0);
	model->setData(index,"new item",Qt::DisplayRole);
	ui.listView->setCurrentIndex(index);
}

插入项:

cpp 复制代码
void port::on_insertItem_clicked()
{
	QModelIndex index;
	index = ui.listView->currentIndex();
	model->insertRow(index.row());
	model->setData(index,"inserted item",Qt::DisplayRole);
	model->setData(index,Qt::AlignRight,Qt::TextAlignmentRole);
	ui.listView->setCurrentIndex(index);
}

删除项:

cpp 复制代码
void port::on_deleteItem_clicked()
{
	QModelIndex index;
	index = ui.listView->currentIndex();
	model->removeRow(index.row());
}

清空项:

cpp 复制代码
void port::on_clearList_clicked()
{
	model->removeRows(0,model->rowCount());
}

获取模型数据:

cpp 复制代码
QStringList strList;
    strList = model->stringList();

清空文本:

cpp 复制代码
ui.plainTextEdit->clear();

将数据显示到文本上:

cpp 复制代码
for (int i = 0; i < strList.count(); i++)
        ui.plainTextEdit->appendPlainText(strList.at(i));
相关推荐
神三元5 分钟前
大模型工具调用输出的 JSON,凭什么能保证不出错?
前端·ai编程
超级大只老咪8 分钟前
线性递推通用模板
java·开发语言·算法
得物技术9 分钟前
基于 Cursor Agent 的流水线 AI CR 实践|得物技术
前端·程序员·全栈
coNh OOSI16 分钟前
Spring Boot问题总结
java·spring boot·后端
ISkp3V8b419 分钟前
基于项目工程构建SBOM(软件物料清单)的研究
java·visual studio
郝学胜-神的一滴20 分钟前
「栈与缩点的艺术」二叉树前序序列化合法性判定:从脑筋急转弯到工程实现
java·开发语言·数据结构·c++·python·算法
坚持就完事了21 分钟前
Linux的which命令
linux·运维·服务器
mhkxbq22 分钟前
AI与大数据时代:昆仑G5580、G5680 V2、G2280及泰山200服务器登场
大数据·服务器·人工智能
和小潘一起学AI22 分钟前
centOS安装neo4j
linux·运维·服务器
她说..24 分钟前
Java Object类与String相关高频面试题
java·开发语言·jvm·spring boot·java-ee