wert aus Tabellenzelle auslesen

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
Benutzeravatar
xWolf
User
Beiträge: 62
Registriert: Sonntag 2. November 2008, 01:21
Wohnort: China

Hallo,

ich arbeite mit dem QTableWidget uns beschreibe eine Tabellenzelle wie folgt:

Code: Alles auswählen

      content = QtGui.QTableWidgetItem(self._Text) # must be always string ! 
      content.setFont(QtGui.QFont(self._Font,self._Size))
      #...calculate color in RGB !!!!!!!!!!!!!!!!!!!!!!
      # Microsoft stores RGB in direction BGR -> from right to left
      # 0000FF means red
      # FF0000 means blue
      b = int(self._Background/65536)
      c = int(self._Background-(65536*b))
      g = c/256
      c = int(c-256*g)
      r = c
      #...calc end --------------------------------------
      mColor = QtGui.QColor(r,g,b)
      #mColor.setRgb(r,g,b) 
      content.setBackgroundColor(mColor)
      content.setTextAlignment(int(self._alignment))
      if self.table.columnCount()-1 >= self._Column:
         self.table.setItem(self._Row, self._Column, content)
Das klappt alles zu meiner Zufriedenheit.
Nur moechte ich gern z.B. eine Zelle auslesen.
Einfache Versuche wie:

Code: Alles auswählen

myText = self.table.item(i,t).Text()
klappen natuerlich nicht. (War auch nur geschaetzt , waere zu einfach :D )
In der von Riverbank im Internet bereitgestellten Doku blicke ich nicht so richtig durch.
Ich moechte nicht mit dem Model arbeiten, da mein bisher geschriebenes Programm mit dem QTableWidget ganz gut zurecht kommt.

Hat jemand auf der "Nicht-Model-Basis" eine Idee?

Wolf
Benutzeravatar
xWolf
User
Beiträge: 62
Registriert: Sonntag 2. November 2008, 01:21
Wohnort: China

OK, ich scheine selbst auf die Lösung gekommen zu sein:

Code: Alles auswählen

item = self.table.item(self._Row, self._Column)
a = item.text()
print unicode(a)
Ich bin beim Testen lange Zeit noch über die unicode-Fehlermeldung und eine "NONE-Object" Meldung gestolpert und habe nicht gesehen, das andere Zellen korrekt gelesen und ausgegeben wurden.

Wolf
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Du kennst dass Konzept von Table Views/Models? Dann musst du dich um solche Details nicht mehr wirklich kümmern.
Benutzeravatar
xWolf
User
Beiträge: 62
Registriert: Sonntag 2. November 2008, 01:21
Wohnort: China

DasIch hat geschrieben:Du kennst dass Konzept von Table Views/Models? Dann musst du dich um solche Details nicht mehr wirklich kümmern.
Nein, ich kenne es nicht.
Gibt's da Vorteile?
Und das auslesen einer Zelle muss man doch auch programmieren, oder?

Wolf
Antworten