C'è un modo per ottenere dati da una riga selezionata da una vista tabella? ho usato QModelIndexList ids = ui->tableView->selectionModel()->selectedRows();
che restituisce un elenco degli indici delle righe selezionate. Non ho bisogno dell'indice. Ho bisogno dei dati di ogni cella della riga selezionata.Qt C++ Ottieni dati da ogni cella di una riga selezionata da una QTableView
7
A
risposta
2
QVariant data(const QModelIndex& index, int role) const
viene utilizzato per restituire dati. Se avete bisogno di ottenere i dati che state facendo qui sulla base di QModelIndex
riga e colonna e recuperare da qualche contenitore, forse
std::vector<std::vector<MyData> > data;
È necessario definire tale mappatura e utilizzarlo in data()
e setData()
funzioni per gestire l'interazione con dati del modello sottostante.
alternativa QAbstractItemModel
e QTreeView
offre il modo per assegnare la classe cioè TreeItem
ad ogni QModelIndex
, in modo da poter prossima recuperare un puntatore ad ogni dati utilizzando static_cast
del puntatore restituito da QModelIndex.internalPointer() funzione:
TreeItem *item = static_cast<TreeItem*>(index.internalPointer());
così allora si può creare un po 'di mappatura:
// 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
si può provare questo
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();
Problemi correlati
- 1. Qt Elimina riga selezionata in QTableView
- 2. Qt/C++: acquisizione dei dati in una determinata cella in una QTableView
- 3. JQgrid: valore specifico da una riga selezionata
- 4. QTableView ha caselle di controllo indesiderate in ogni cella
- 5. Ottieni una colonna diversa in ogni riga
- 6. come selezionare una cella da tavolo SWT
- 7. Come eliminare righe/righe da una qtableview in pyqt?
- 8. Come si può modificare una cella QTableView da un test dell'unità QTest?
- 9. Imposta il colore su una riga QTableView
- 10. Qt: C++: Come creare un SIGNAL/SLOT quando si seleziona una riga in QTableView
- 11. SSRS: ottieni valori da una particolare riga di DataSet?
- 12. Ottieni dati da una promessa invece di restituire una promessa
- 13. Elimina una riga da QGridLayout
- 14. Come ottengo i dati della riga selezionata da una vista griglia dati usando SelectedRows?
- 15. QTableView: Come posso ottenere i dati quando l'utente clicca su una particolare cella utilizzando il mouse
- 16. come ottenere i dati dalla riga selezionata da datagridview
- 17. Come rendere selezionabile una riga o una cella dati?
- 18. Ottieni due elementi da una sequenza ogni volta
- 19. Scegliere una cella per riga in frame di dati
- 20. WPF - Come ottenere una cella da una DataGridRow?
- 21. Come ottenere un valore da una cella di un dataframe?
- 22. Qt - QTableView - Pulsante cliccabile nella riga della tabella
- 23. Ottieni dati da iframe
- 24. Imposta il testo iniziale quando si modifica una cella QTableView
- 25. ExtJS - Get rowIndex di una riga selezionata
- 26. Sottrarre una riga di dati da un'altra in SQL
- 27. Ottieni l'ultima cella in una sezione Uitableview
- 28. Ottieni dati da Datatables.net dopo l'ordinamento
- 29. C#, Ciclo continuo attraverso il set di dati e mostra ogni record da una colonna del set di dati
- 30. Ottenere il valore da una cella Gridview
usando 'QModelIndex :: dati (ruolo int)' rende sence? – vahancho