QTableWidget erweitern / Signal connecten

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
H4lunkE
User
Beiträge: 2
Registriert: Freitag 22. Mai 2015, 10:10

Hallo,

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!')
Danke schonmal für eure Hilfe.
Zuletzt geändert von Anonymous am Montag 29. Mai 2017, 22:39, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
BlackJack

@H4lunkE: Gibt es bei dem Beispiel denn überhaupt Zellen? Du sagst ja nirgends wie wie viele Spalten und Zeilen es geben soll. Schreib doch mal ein komplettes Beispiel das man auch ausführen kann.
Antworten