Qt MV架构 数据-窗口映射器

一、基本概念

数据-窗口映射器QDataWidgetMapper类在数据模型的一个区域和一个窗口部件间提供了一个映射,这样就可以实现在一个窗口部件上显示和编辑一个模型中的一行数据。

二、代码示例

#include <QDataWidgetMapper>
#include <QStandardItemModel>

//然后在构造函数中添加如下代码:
{
	QStandardItemModel *model = new QStandardItemModel(3, 2, this);
	model->setItem(0, 0, new QStandardItem("xiaoming"));
	model->setItem(0, 1, new QStandardItem("90"));
	model->setItem(1, 0, new QtandardItem("xiaogang"));
	model->setItem(1, 1, new QStandardItem("75"));
	model->setItem(2, 0, new QStandardItem("xiaohong"));
	model->setItem(2, 1, new QStandardItem("80"));
	
	m_mapper = new QDataWidgetMapper(this);
	
	//设置模型
	m_mapper->setModel(model);

	//设置窗口部件和模型中的列的映射
	m_mapper->addMapping(ui->lineEdit, 0);
	m_mapper->addMapping(ui->lineEdit_2, 1);

	//显示模型中的第一行
	m_mapper->toFirst();
}

上面创建了一个QDataWidgetMapper实例,然后为其设置了关联的模型,并设置了窗口部件和模型中对应列的映射,最后使用toFirst()函数来显示模型中第一行的数据。

下来再增加两个按钮,“上一条”和“下一条”,它们的槽函数如下:

void MainWindow::on_pushbutton_clicked()
{
	m_mapper->toPrevious();
}
void MaiWindow::on_pushbutton2_clicked()
{
	m_mapper->toNext();
}

分别使用了toPrevious()toNext()函数来显示模型中上一行和下一行的数据。

还有一个toLast()函数可以显示模型中嘴鸥一行的数据。

关于QDataWidgetMapper类的使用,也可以参考Simple Widget Mapper和Combo Widget Mapper示例程序,它们在Item Views分类中。


参考资料:Qt Creator快速入门 (霍亚飞 著)

相关推荐

  1. Qt MV架构 数据-窗口映射

    2024-07-13 22:22:01       20 阅读
  2. 推荐一个好用的数据库映射架构

    2024-07-13 22:22:01       33 阅读
  3. Mybatis配置-映射(mappers)

    2024-07-13 22:22:01       51 阅读
  4. MyBatis框架-XML映射

    2024-07-13 22:22:01       34 阅读
  5. SpringMVC映射请求数据

    2024-07-13 22:22:01       52 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-13 22:22:01       51 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-13 22:22:01       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-13 22:22:01       44 阅读
  4. Python语言-面向对象

    2024-07-13 22:22:01       55 阅读

热门阅读

  1. 暑假自律日记九

    2024-07-13 22:22:01       16 阅读
  2. 如何在PostgreSQL正确的 使用UUID 作为主键

    2024-07-13 22:22:01       18 阅读
  3. 《NX二次开发官方案例》专栏目录B

    2024-07-13 22:22:01       16 阅读
  4. 并行编程实战——TBB编程流图的问题

    2024-07-13 22:22:01       19 阅读
  5. MySQL零散拾遗

    2024-07-13 22:22:01       20 阅读
  6. 使用 GPT-4 和 ChatGPT 构建应用程序

    2024-07-13 22:22:01       18 阅读
  7. llama-recipes

    2024-07-13 22:22:01       20 阅读
  8. 排序算法基础(未完待续)

    2024-07-13 22:22:01       21 阅读