QDataWidgetMapper不能与QLabels一起使用

时间:2015-01-23 16:46:21

标签: qt qt4 qt-creator

我使用QDataWidgetMapper将数据映射到QLineEdit,它工作正常。当我使用将数据映射到QLabel时,它不会在标签中显示任何数据。我正在尝试以下列方式执行此操作:

QDataWidgetMapper *testMapper=new QDataWidgetMapper();

testMapper->setOrientation(Qt::Vertical);
testMapper->setModel(testModel);


//setting the mapper values to the textboxes ----works fine
testMapper->addMapping(ui->LineEdit1,0);
testMapper->addMapping(ui->LineEdit2,1);

//setting it to qlabels
testMapper->addMapping(ui->label,3);----- does not work
testMapper->toFirst();

我从列表中获取值并将列表附加到QDataWidgetMapper,从mapper我使用addMapping将其附加到文本框。任何人都可以让我知道为什么它不适用于qLabels。

1 个答案:

答案 0 :(得分:15)

默认情况下,每个窗口小部件的user property用于在模型和窗口小部件之间传输数据。 QLabel没有用户属性。您应该使用额外的addMapping()函数来启用命名属性而不是默认用户属性。

testMapper->addMapping(ui->label,3,"text");