如何将QDataWidgetMapper与QLineEdit一起使用
how to use QDataWidgetMapper with QLineEdit
我有一个包含三个字段的表单,我正在尝试用模型中的值填充这些字段。下面是我的头文件和.cpp文件中的代码:
myForm.h 中的声明
private:
Ui::MyForm *ui;
QStringListModel *model;
QDataWidgetMapper *mapper;
在 myForm 中编码.cpp
model=new QStringListModel(this);
QStringList list;
list << "abc"<<"def"<<"ghi";
model->setStringList(list);
mapper=new QDataWidgetMapper();
mapper->setModel(model);
mapper->addMapping(ui->lineEdit_13,0);
mapper->toFirst();
当我运行应用程序时,文本字段填充了第一个值"abc"。我不确定如何使用QDataWidgetMapper在表单的其他两个文本字段中填充其他两个值"def"和"ghi"。我研究了QDataWidgetMapper可用的各种选项,但不确定如何填充数据。它始终只填充一个值,其他两个字段为空。如何从模型中读取所有三个值,或者我在这里做错了什么?我刚刚开始在我的Qt应用程序中使用模型。
您的模型有一列和三行。如果要将该列视为一个"项目",则必须指示与QDataWidgetMapper::setOrientation(Qt::Orientation)
QDataWidgetMapper
的方向。默认值为 Qt::Horizontal
(一个"项"是模型的一行),您希望将其设置为 Qt::Vertical
。
然后你像你一样使用addMapping
,每一行都是一个部分:
mapper->addMapping(ui->lineEdit_abc,0);
mapper->addMapping(ui->lineEdit_def,1);
mapper->addMapping(ui->lineEdit_ghi,2);
相关文章:
- 如何将enable-if与模板参数和参数包一起使用
- 如何将PERF_AMPLE_READ与mmap一起使用
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- 如何将C++中的库和头与MinGW一起使用
- 将--whole archive链接器选项与CMake和具有其他库依赖项的库一起使用
- 为什么我不能将 rand() 与数组的大小一起使用?
- 要与"if constexpr"一起使用的编译时消息(在预处理器之后)
- 不能将复制初始化与隐式转换的多个步骤一起使用
- Qt和C++:将QLineEdit添加到QTabWidget中
- 将fold表达式与std::一起用于两个元组
- spdlog标头仅与外部fmt一起使用.spdlog错误:'内部':不是'fmt'
- 将 std::allocate_shared 与多态资源分配器一起使用
- 如何从QToolBox中动态创建的QLineEdit中获取文本
- 为什么常量词在重载运算符中不与 ostream 对象一起使用<<?
- 将 OpenCV 与 CMAKE 中的项目一起构建为第三方库的正确方法
- 将 exprtk 与自定义类的对象一起使用
- 将 std::set 与基于键的比较器一起使用
- 将 C++ 类与 Rcpp 一起使用,从 C 或 R 修改它
- 如何让我的C++代码与QT按钮一起使用并打印到QlineEdit?
- 如何将QDataWidgetMapper与QLineEdit一起使用