ich arbeite mich gerade in PyQT5 ein.
Für mein Projekt möchte ich entsprechend ein QTableWidget erweitern. Dazu habe ich mir die Klasse QTableWidgetN geschrieben, die vom QTableWidget erbt. Diese kann ich nun um Instanzvariablen erweitern, das bringt mich schon voran.
Nun würde ich aber gerne, sobald das Signal "cellChanged" ausgelöst wird, eine Methode innerhalb der Subclass ausführen.
Nur leider wird das Signal scheinbar nicht verbunden, denn mein cellchange wird nicht ausgeführt.
Auch PyCharm weist mich darauf hin --> "Cannot find reference 'connect' in 'function'
Kann ich denn das Signal nur außerhalb verbinden, also wenn ich die Klasse instanziere?
Gibt es alternative Wege das innerhalb der Klasse zu lösen? Ich möchte ja prinzipiell nur cellchange ausführen, wenn sich etwas ändert.
Hier mein Code:
Code: Alles auswählen
# -*- coding: utf-8 -*-
from PyQt5.QtWidgets import QTableWidget
class QTableWidgetN(QTableWidget):
def __init__(self, args=None):
QTableWidget.__init__(self, args)
self.cellChanged.connect(self.cellchange)
def cellchange(self, row, column):
print('cell changed!')