QTextEdit in Zelle von QTableWidget

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
Fladdie
User
Beiträge: 9
Registriert: Montag 24. Februar 2014, 08:59

Hallo,

bin neu hier im Forum.
Ich bin noch nicht sonderlich fit mit Python und erst recht nicht mit PyQt. Daher meine Frage:

Ich habe ein QTableWidget. In diesem lasse ich in einer Zelle ein QTextEdit item erstellen.
Ich möchte nun gerne für das QTextEdit item das Siganal connecten sodass bei Änderung des Inhalts + bei Verlassen des Items eine Funktion getriggert wird (OnTextChange).

Mein Code zum Erstellen des QTextEdit items:

Code: Alles auswählen

        text = QtGui.QTableWidgetItem()
        self.tabelle.setItem(1, 7, text)
        self.tabelle.setCellWidget(1, 7, QtGui.QTextEdit())
Habe schon länger rumprobiert bekomme es aber nicht hin.
Würde mich sehr über eure Hilfe freuen.

Gruß
Eric
Benutzeravatar
Madmartigan
User
Beiträge: 200
Registriert: Donnerstag 18. Juli 2013, 07:59
Wohnort: Berlin

Hallo und willkommen.

Wenn du dir anschaust, wie du dein QTextEdit generierst, fällt dir auf, dass zwar eine Instanz korrekt erstellt wird, diese aber nicht außerhalb des Aufrufs referenzierbar ist.
Statt

Code: Alles auswählen

self.tabelle.setCellWidget(1, 7, QtGui.QTextEdit())
mache folgendes:

Code: Alles auswählen

self.input_field = QtGui.QTextEdit(self)
self.tabelle.setCellWidget(1, 7, self.input_field)
Damit kannst du das Signal

Code: Alles auswählen

self.input_field.textChanged
ansprechen.
Fladdie
User
Beiträge: 9
Registriert: Montag 24. Februar 2014, 08:59

Hi Madmartigan,

super! Vielen Dank hat mich schon mal wieder ein ganzes Stück weitergebracht!

Gruß
Eric
Antworten