是否有任何方法從表視圖中的選定行獲取數據?我用 QModelIndexList ids = ui->tableView->selectionModel()->selectedRows();
它返回所選行的索引列表。我不需要索引。我需要來自所選行的每個單元格的數據。Qt C++從QTableView中獲取選定行的每個單元的數據
7
A
回答
2
QVariant data(const QModelIndex& index, int role) const
正用於返回數據。如果你需要得到的數據,你在這裏做基於QModelIndex
行和列和一些容器取出它,也許
std::vector<std::vector<MyData> > data;
你必須定義這樣的映射,並用它在data()
和setData()
函數來處理與互動基礎模型數據。
或者QAbstractItemModel
和QTreeView
提供給你的類即TreeItem
分配給每個QModelIndex
的方式,這樣你就可以在下一個檢索使用QModelIndex.internalPointer()函數返回指針static_cast
的指針,每一個數據:
TreeItem *item = static_cast<TreeItem*>(index.internalPointer());
,那麼你可以創建一些映射:
// 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
你可以試試這個
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. Qt/C++:在QTableView的某個單元格中獲取數據
- 2. 如何從選定行(QTableView)獲取單元格值?
- 3. Qt C++從表視圖的選定行獲取數據
- 4. QTableview行元數據
- 5. Qt刪除QTableView中的選定行
- 6. 如何從QTableView中獲取選定的行號?
- 7. QML TableView從特定單元格中獲取數據(選定行+特定列)
- 8. WPF Datagrid。獲取選定行的每個單元格的值
- 9. 獲取QTableView單元格值
- 10. 從C#中的Gridview中選定的行獲取數據,WPF
- 11. 從wpf數據網格中獲取選定單元格的值
- 12. 如何從QTableView和QStandardItemModel中單獨獲取複選框項?
- 13. QTableView選擇單個單元格
- 14. QTableView中的Qt複選框
- 15. Qt C++來自選定行的數據
- 16. 如何從QTableView中獲取數據?
- 17. QTableView在PyQt4中選定的元素
- 18. C# - 獲取選定單元格的行的第一個單元格的值
- 19. 如何從數據網格中選定行的單元格中獲取值?
- 20. 從gridview獲取選定行的數據?
- 21. 從gtk treeview的選定行中獲取數據 - gtkmm,C++
- 22. QTableView在每個單元格中都有不需要的複選框
- 23. 獲取特定的單元格的值從選定行的Javascript
- 24. 從選定的單元格獲取數據(TableView)
- 25. 取消QTableView中的單元格值
- 26. 從表單中獲取複選框中的選定數據
- 27. 在QTableView中取消選擇單行
- 28. 從NSTableView獲取可可中選定行的單元格值
- 29. 從選定的行中選擇單元格數據 - DataGridView
- 30. 無法從選定的多行Jlist中獲取每個項目?
使用'QModelIndex ::數據(INT角色)'讓SENCE? – vahancho