【原】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]。