Ich habe mittels QTableWidget eine Tabelle angelegt und mit Werten befüllt.
Nun möchte ich den Wert der ersten Spalte der selektierten Row auslesen.
Aber ich schaffe das nicht.
Kann mir jemand einen Tipp geben?
Inhalt eines selektierten Items einer QTableWidget ausgeben
ca. 3 Sekunden mit Google:
http://docs.huihoo.com/pyqt/pyqt4/html/ ... idget.html
http://docs.huihoo.com/pyqt/pyqt4/html/ ... idget.html
Das Leben ist wie ein Tennisball.
Code: Alles auswählen
indexes = [index for index in table_widget.selectedIndexes() if index.row() == 0]
data = map(table_widget.model().data, indexes)
oder so (ungetestet)
Code: Alles auswählen
zeile = tabelle.selectedItems()[0].row()
item = tabelle.item(zeile, 0)
http://www.kinderpornos.info
Danke für Eure Bsp., es ist aber so, dass diese nur den Objektnamen zurückgeben.
Ich bekomme also so etwas wie :
PyQt4.QtCore.QModelIndex object at 0x018AB420
wenn ich versuche, das Feld mit print aufzurufen. Ich mache hier einen ganz gravierenden Fehler, aber ich komme partout auf keinen grünen Zweig.
Ich möchte aber den Wert des 1.Elements der selektierten Reihe .
Die Doku auf http://docs.huihoo.com/pyqt/pyqt4/html/ ... idget.html ist mir natürlich wohlbekannt, aber ich habe Schwierigkeiten, den Wert des Felds auszulesen und nicht dessen Objektnamen.
Ich habe den folgenden Code probiert:
und bekomme dann den Objektnamen wie oben angegeben (wohl des 1.Elements der selektierten Reihe), aber wie bekomme ich den Inhalt, meinetwegen als String (obwohl das Zahlen sind).
Ich bekomme also so etwas wie :
PyQt4.QtCore.QModelIndex object at 0x018AB420
wenn ich versuche, das Feld mit print aufzurufen. Ich mache hier einen ganz gravierenden Fehler, aber ich komme partout auf keinen grünen Zweig.
Ich möchte aber den Wert des 1.Elements der selektierten Reihe .
Die Doku auf http://docs.huihoo.com/pyqt/pyqt4/html/ ... idget.html ist mir natürlich wohlbekannt, aber ich habe Schwierigkeiten, den Wert des Felds auszulesen und nicht dessen Objektnamen.
Ich habe den folgenden Code probiert:
Code: Alles auswählen
zeile = self.tabWidget.selectedItems()[0].row()
item = self.tabWidget.item(zeile, 0)
print item
das kann nicht sein, dass du da ein PyQt4.QtCore.QModelIndex object bekommst:
sicher, dass self.tabWidget ein QTableWidget ist?QTableWidget Class Reference
QTableWidgetItem item (self, int row, int column)
http://www.kinderpornos.info
Ja, ich habe es vorher so angelegt:Dill hat geschrieben: sicher, dass self.tabWidget ein QTableWidget ist?
Code: Alles auswählen
self.tabWidget = QTableWidget()
Ich glaube, ich habe folgendes in der Dokumentation überlesen:
QString QTableWidgetItem.text (self)
Returns the item's text.
Folgender Code liest den Inhalt des Elements der selektierten Zeile als Text aus und löst somit mein Problem:
Gibt es die PyQt-Doku auch in deutsch bzw ohne dieses ganze C++-Gedöns? (und ja, ich weiss, dass PyQt auch nur ein Wrapper für Qt ist..aber verstehe den Sinn nicht, wenn z.B. folgende C++-Syntax in einer Python-Doku zu lesen ist):
QTableWidgetItem *newItem = new QTableWidgetItem(tr("%1").arg(
pow(row, column+1)));
tableWidget->setItem(row, column, newItem);
QString QTableWidgetItem.text (self)
Returns the item's text.
Folgender Code liest den Inhalt des Elements der selektierten Zeile als Text aus und löst somit mein Problem:
Code: Alles auswählen
zeile = self.tabWidget.selectedItems()[0].row()
item = self.tabWidget.item(zeile, 0)
print item.text()
QTableWidgetItem *newItem = new QTableWidgetItem(tr("%1").arg(
pow(row, column+1)));
tableWidget->setItem(row, column, newItem);
ja, aber du müsstest konsequenterweise PyQt4.QtCore.QModelIndex referenz schauen und die hat keine text() methode. 
die referenz gibt es sicher nicht auf deutsch.
wie du gesehen hast ist sie nochnichtmal komplett von C++ nach python übersetzt. aber stört das wirklich? wenn du dich damit angefreundet hast wirst du dich freuen, dass es für Qt nen haufen guter literatur gibt (für die C-version).

die referenz gibt es sicher nicht auf deutsch.
wie du gesehen hast ist sie nochnichtmal komplett von C++ nach python übersetzt. aber stört das wirklich? wenn du dich damit angefreundet hast wirst du dich freuen, dass es für Qt nen haufen guter literatur gibt (für die C-version).
http://www.kinderpornos.info
Ist eigentlich wxPython besser dokumentiert?
Ich bin immer noch am überlegen, für zukünftige Projekte wxPython auszuprobieren. Die Anzahl der Beiträge zu wxPython in Relation zu den PyQt-Threads spricht auch eine gewisse Sprache. Ich glaube aber, dass mit PyQt mehr Flexibilität möglich ist.
Wie seht ihr das? Wer kennt beide? Wer bevorzugt wxPython und wer PyQt?
Ich bin immer noch am überlegen, für zukünftige Projekte wxPython auszuprobieren. Die Anzahl der Beiträge zu wxPython in Relation zu den PyQt-Threads spricht auch eine gewisse Sprache. Ich glaube aber, dass mit PyQt mehr Flexibilität möglich ist.
Wie seht ihr das? Wer kennt beide? Wer bevorzugt wxPython und wer PyQt?
Qt ist meines erachtens sehr gut dokumentiert. Vor allem ist es so durchdacht entworfen, dass die meisten fragen sich mit einem blick in die referenz beantworten lassen. Du hast die referenz einfach nicht sorgsam genug gelesen.
http://www.kinderpornos.info
Qt4 ist eigentlich so gut dokumentiert wie nur wenige andere Bibliotheken ... so schwer kann das Lesen der C++-Beispiele gar nicht sein, dass man auf diese Doku verzichten würde
Die PyQt4-Doku benötigt man doch eigentlich nur, um die geänderten Signaturen der PyQt4-Objekte nachzulesen.
