से किसी चयनित पंक्ति के प्रत्येक सेल से डेटा प्राप्त करें क्या तालिका दृश्य से चयनित पंक्ति से डेटा प्राप्त करने का कोई तरीका है? मैंने QModelIndexList ids = ui->tableView->selectionModel()->selectedRows();
का उपयोग किया है जो चयनित पंक्तियों के सूचकांक की एक सूची देता है। मुझे इंडेक्स की आवश्यकता नहीं है। मुझे चयनित पंक्ति के प्रत्येक सेल से डेटा चाहिए।क्यूटी सी ++ एक QTableView
7
A
उत्तर
2
QVariant data(const QModelIndex& index, int role) const
डेटा लौटने के लिए उपयोग किया जा रहा है। यदि आप स्वयं QModelIndex
पंक्ति और स्तंभ के आधार पर यहां यह कर और कुछ कंटेनर से यह पुन: प्राप्त करने, हो सकता है
std::vector<std::vector<MyData> > data;
कर रहे हैं आप इस तरह के मानचित्रण को परिभाषित करने और के साथ बातचीत को संभालने के लिए data()
और setData()
कार्यों में इसका इस्तेमाल करने के लिए है पाने के लिए की जरूरत है अंतर्निहित मॉडल डेटा।
TreeItem *item = static_cast<TreeItem*>(index.internalPointer());
: तो आप अगले सूचक की
static_cast
QModelIndex.internalPointer() समारोह से लौटे का उपयोग कर प्रत्येक डेटा के लिए सूचक प्राप्त कर सकते हैं
वैकल्पिक रूप से QAbstractItemModel
और QTreeView
, जिस तरह से प्रत्येक QModelIndex
करने के लिए अपने वर्ग यानी TreeItem
आवंटित करने के लिए प्रदान करता है
// sets the role data for the item at <index> to <value> and updates
// affected TreeItems and ModuleInfo. returns true if successful
// otherwise returns false
bool ModuleEnablerDialogTreeModel::setData(const QModelIndex & index,
const QVariant & value, int role) {
if (role
== Qt::CheckStateRole&& index.column()==ModuleEnablerDialog_CheckBoxColumn) {
TreeItem *item = static_cast<TreeItem*>(index.internalPointer());
Qt::CheckState checkedState;
if (value == Qt::Checked) {
checkedState = Qt::Checked;
} else if (value == Qt::Unchecked) {
checkedState = Qt::Unchecked;
} else {
checkedState = Qt::PartiallyChecked;
}
//set this item currentlyEnabled and check state
if (item->hierarchy() == 1) { // the last level in the tree hierarchy
item->mModuleInfo.currentlyEnabled = (
checkedState == Qt::Checked ? true : false);
item->setData(ModuleEnablerDialog_CheckBoxColumn, checkedState);
if (mRoot_Systems != NULL) {
updateModelItems(item);
}
} else { // every level other than last level
if (checkedState == Qt::Checked || checkedState == Qt::Unchecked) {
item->setData(index.column(), checkedState);
// update children
item->updateChildren(checkedState);
// and parents
updateParents(item);
:
ऐसा है तो आप कुछ मैपिंग बनाते हैं
7
आप `QModelIndex :: डेटा (पूर्णांक भूमिका)` भावना बनाता है का उपयोग करते हुए इस
int rowidx = ui->tblView->selectionModel()->currentIndex().row();
ui->txt1->setText(model->index(rowidx , 0).data().toString());
ui->txt2->setText(model->index(rowidx , 1).data().toString());
ui->txt3->setText(model->index(rowidx , 2).data().toString());
ui->txt4->setText(model->index(rowidx , 3).data().toString());
1
Try this for getting data. selectedRows(0) indicates first column of selected rows, selectedRows(1) indicates second column of selected rows row likewise
QItemSelectionModel *select = ui->existingtable->selectionModel();
qDebug()<<select->selectedRows(0).value(0).data().toString();
qDebug()<<select->selectedRows(1).value(0).data().toString();
qDebug()<<select->selectedRows(2).value(0).data().toString();
qDebug()<<select->selectedRows(3).value(0).data().toString();
संबंधित मुद्दे
- 1. क्यूटी: सी ++: QTableView
- 2. क्यूटी/सी ++: QTableView
- 3. क्यूटी QTableView सक्रिय कोशिकाओं
- 4. क्यूटी QTableView - IsUserCheckable
- 5. क्यूटी QTableView कैसे एक चेकबॉक्स केवल स्तंभ
- 6. क्यूटी - क्लीयरिंग QTableView की सामग्री
- 7. QTableView
- 8. सी ++ क्यूटी QComboBox tableview
- 9. QTableView
- 10. Qt QTableView
- 11. QTableView
- 12. QTableView
- 13. QTableView
- 14. QTableView
- 15. एक QTableView पंक्ति
- 16. QTableView में प्रत्येक सेल
- 17. क्यूटी - QTableView - तालिका पंक्ति में क्लिक करने योग्य बटन
- 18. क्यूटी में QTableView के लिए टैब आदेश की स्थापना 4.4
- 19. QTableView नई अतिरिक्त पंक्ति
- 20. एक छिपी QTableView कॉलम दिखा रहा है
- 21. QTableView में वर्चुअल कॉलम?
- 22. कॉलम QTableView
- 23. पीईक्यूटी - QTableView
- 24. कैसे QTableView
- 25. सी ++/क्यूटी
- 26. क्यूटी/सी ++
- 27. क्यूटी, सी ++
- 28. क्यूटी/सी ++
- 29. क्यूटी [सी ++]
- 30. पीईक्यूटी - QTableView
प्रयास करें कर सकते हैं? – vahancho