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));
相关推荐
麦芽糖02195 分钟前
springboot集成ZeroMQ
java·spring boot·后端
weixin_4569042725 分钟前
C# 中的回调函数
java·前端·c#
宁檬精28 分钟前
运维面试准备——综合篇(一)
linux·运维·服务器
程序员水自流33 分钟前
MySQL InnoDB存储引擎关键核心特性详细介绍
java·数据库·mysql
阿巴~阿巴~38 分钟前
Ubuntu 20.04 安装 Redis
linux·服务器·数据库·redis·ubuntu
kura_tsuki39 分钟前
[Web网页] LAMP 架构与环境搭建
前端·架构
Chen不旧1 小时前
easyexcel实现excel读取
java·excel·easyexcell
yinuo1 小时前
UniApp+Vue3多分包引入同一 npm 库被重复打包至 vendor 的问题分析与解决
前端
码界奇点1 小时前
Spring Web MVC构建现代Java Web应用的基石
java·前端·spring·设计规范
爱奥尼欧1 小时前
【Linux笔记】网络部分——socket 编程 TCP实现多台虚拟机使用指令访问云服务器
linux·服务器·网络