【原】Qt:QDataWidgetMapper的使用

QDataWidgetMapper实现了model到widget的映射。因此,典型用法,将model同时绑定到QTableView和QDataWidgetMapper中,从而实现列表和widget同时修改或显示当前item的功能。


QDataWidgetMapper *mapper = new QDataWidgetMapper;
mapper->setModel(model);
mapper->addMapping(mySpinBox, 0);
mapper->addMapping(myLineEdit, 1);
mapper->addMapping(myCountryChooser, 2);
mapper->toFirst();

setModel指定model,addMapping将控件和model的列序号绑定,即可。

如果时QTableView、widget、QDataWidgetMapper 三者同时使用,务必在QTableView的setModel之后绑定QTableView和QDataWidgetMapper,即:

connect(ui.tableView->selectionModel(),
&QItemSelectionModel::currentRowChanged,
dataMapper,
&QDataWidgetMapper::setCurrentModelIndex
);

以上语句应该先setModel。

 

转载请注明来源,谢谢。

有偿解决C++编程问题,承接项目定制开发;寻一份全职或兼职Windows C++开发工作。联系邮箱:[email protected]


老刀的技术日志 » 【原】Qt:QDataWidgetMapper的使用

发表评论