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));
相关推荐
PC2005-cloud5 小时前
博文已索引但不展示:一次 Bing SEO 问题排查记录
服务器·人工智能
沸速存储5 小时前
整机瓶颈判断思路,自上而下定位卡顿根源
运维·服务器·电脑·内容运营
蓝斯4976 小时前
[原创]《C#高级GDI+实战:从零开发一个流程图》第章:增加贝塞尔曲线,上、下、左、右连接点
java·c#·流程图
weixin_382395236 小时前
为小工厂量身打造:本地部署的物料管理系统带缺料计算
前端·制造
__zRainy__6 小时前
解决pnpm v10+不自动构建
前端·pnpm·工程化
前端工作日常6 小时前
我学习到的Java 的 Service 分层:itf 和 impl 到底是什么?
java·后端
乌萨奇也要立志学C++6 小时前
【Linux】网络基础 从零理解网络通信:局域网、跨网传输与 Socket 预备知识
linux·服务器·网络
猫猫不是喵喵.6 小时前
Vue3 Props 属性
前端·javascript·vue.js
都叫我大帅哥6 小时前
Spring @Transactional 注解完全指南
java·spring
Java成神之路-7 小时前
G1 垃圾回收器 :SATB + TAMS核心机制深度解析
java·jvm