Gibt es eine Möglichkeit, Daten aus einer ausgewählten Zeile aus einer Tabellenansicht abzurufen? Ich habe QModelIndexList ids = ui->tableView->selectionModel()->selectedRows();
verwendet, die eine Liste der Indizes der ausgewählten Zeilen zurückgibt. Ich brauche den Index nicht. Ich brauche die Daten von jeder Zelle der ausgewählten Zeile.Qt C++ Daten aus jeder Zelle einer ausgewählten Zeile aus einer QTableView abrufen
7
A
Antwort
2
QVariant data(const QModelIndex& index, int role) const
wird für die Rückgabe von Daten verwendet. Wenn Sie benötigen, um Daten bekommen Sie es hier basierend tun auf QModelIndex
Zeile und Spalte und Abrufen es von einem Behälter, vielleicht
std::vector<std::vector<MyData> > data;
Sie müssen eine solche Zuordnung definieren und in data()
und setData()
Funktionen verwenden, um Interaktion Griff mit zugrunde liegende Modelldaten.
Alternativ QAbstractItemModel
und QTreeView
bietet die Möglichkeit, Ihre Klasse dh zuweisen TreeItem
zu jedem QModelIndex
, so dass Sie als nächstes einen Zeiger auf jeden Datensatz mit static_cast
der Zeiger zurück von QModelIndex.internalPointer() Funktion abrufen können:
TreeItem *item = static_cast<TreeItem*>(index.internalPointer());
so ist, dann können Sie einige Mapping erstellen:
// 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
können Sie diese
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();
Verwandte Themen
- 1. Wie bekomme ich den Zellenwert aus der ausgewählten Zeile (QTableView)?
- 2. Qt/C++: Abrufen der Daten zu einer bestimmten Zelle in einem QTableView
- 3. JQgrid: spezifischer Wert aus einer ausgewählten Zeile
- 4. Ziehen einer Zelle aus einer QTableView in eine externe Anwendung
- 5. ExtJS Auswahl bestimmter Zelle aus einer Zeile
- 6. QTableView hat unerwünschte Kontrollkästchen in jeder Zelle
- 7. Abrufen aller ausgewählten Kontrollkästchen aus einer FormCollection
- 8. Abrufen der ausgewählten Kontrollkästchenwerte aus einer ValidationGroup
- 9. Wie lösche Zeile/Zeilen aus einer Qtableview in Pyqt?
- 10. Abrufen von SQL-Daten aus jeder n-ten Zeile nur
- 11. Abrufen einer Daten aus mongodb
- 12. Wert aus einer GridView-Zelle abrufen
- 13. C# DataGridView Abrufen von Inhalten aus einer Zeile/Spalte
- 14. Entfernen Sie den Rahmen aus einer ausgewählten Zelle in einer Zeile im Datagrid
- 15. Daten aus einer Datenbank aus zwei verschiedenen Tabellen abrufen
- 16. Abrufen aller Attribute jeder Spalte aus jeder Zeile einer Tabelle mysql java
- 17. Wie erhalte ich Daten von einer ausgewählten UICollectionView-Zelle?
- 18. Abrufen von Daten aus einer mySQL-Abfrage
- 19. Abrufen von Daten aus einer vorbereiteten Anweisung
- 20. Abrufen von Daten aus einer relationalen Datenbank
- 21. Qt: C++: Wie erstelle ich ein SIGNAL/SLOT bei der Auswahl einer Zeile in QTableView
- 22. Daten aus zwei Tabellen aus einer gespeicherten Prozedur abrufen?
- 23. JQuery und JqGrid abrufen Daten aus Zeile
- 24. Abrufen von Daten aus Datenbanken in C#
- 25. In derselben Zelle aus einer anderen Zelle
- 26. Wie lese ich eine FIFO/Named Pipe Zeile für Zeile aus einer C++/Qt Linux App?
- 27. Erstellen einer Liste, Abrufen eines Elements aus jeder verschachtelten Liste
- 28. Auswählen einer bestimmten Spalte in jeder Zeile aus Array
- 29. Scala - Drucken bestimmter Felder in jeder Zeile aus einer Datei
- 30. Wie kann ich ein Element in einer bestimmten Zeile in einer Liste aus einer Datenbank abrufen?
Mit 'QModelIndex Versuchen :: data (int Rolle)' macht Sinn? – vahancho