Problem mit SLOT eines QTableWidget

Alles rund um die Programmierung mit Qt
Antworten
C_G
Beiträge: 19
Registriert: 26. Oktober 2004 09:58
Kontaktdaten:

Problem mit SLOT eines QTableWidget

Beitrag von C_G »

Moin.
Ich habe eine Instanz eines QTableWidget erzeugt und möchte nun
via QPushButton eine Zeile der Tabelle hinzufügen. Die Verbindung
sieht wie folgt aus:

Code: Alles auswählen

QObject::connect(eingabe, SIGNAL(clicked()), tabelle, SLOT(insertRow(0)));
Normalerweise müsste jetzt beim klicken des Buttons "eingabe" eine
Reihe zu der tabelle "tabelle" hinzugefügt werden. Allerdings bekomme
ich zum Programmstart in der Konsole folgendes angezeigt:
  • No such slot QTableWidget::insertRow(0)
In der QT-Doku steht der Slot aber genau so drinn.
Was mach ich falsch?
Gruß,
Christian
Code 4 Freedom
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Mal wieder dder Standardfehler - in einem conenct kann man keine Parameter übergeben. Und die Signatur von signal und slot müssen gleich sein ->

Code: Alles auswählen

QObject::connect(eingabe, SIGNAL(clicked()), tabelle, SLOT(insertRow()));
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Blos so nebenbei: Der Slot darf auch weniger Parameter haben, als das Signal...
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

upsala hat geschrieben:Blos so nebenbei: Der Slot darf auch weniger Parameter haben, als das Signal...
Das ist schon klar - aber mit sowas verwirrt man Anfänger imho nur :)
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
C_G
Beiträge: 19
Registriert: 26. Oktober 2004 09:58
Kontaktdaten:

Beitrag von C_G »

Und wieso steht dann in der Doku das an eine integervariable
übergeben kann?
Ich habe es jetzt ohne Parameterübergabe probiert. Leider
ohne Erfolg. Die selbe Fehlermeldung. Den Slot gibt es doch
so, oder liege ich da schon falsch?
Code 4 Freedom
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Die Signatur von Signal und Slot müssen gleich sein. Also kannst du diesen Slot so nicht verwenden.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Wo steht das in der Doku?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

upsala hat geschrieben:Wo steht das in der Doku?
Was ? Das man keine Parameter mit übergeben kann? Das ist doch wohl klar wenn man weiss was dahinter steckt und für alle anderen ist es eben einfach so bzw. es steht auch in der Doku:

Code: Alles auswählen

The signature of a signal must match the signature of the receiving slot. (In fact a slot may have a shorter signature than the signal it receives because it can ignore extra arguments.)
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Danke Christian, ich kenn die Doku. Ich meinte C_G:
Und wieso steht dann in der Doku das an eine integervariable
übergeben kann?
C_G
Beiträge: 19
Registriert: 26. Oktober 2004 09:58
Kontaktdaten:

Beitrag von C_G »

Sorry. Denkfehler. Ich habe den Slot einfach als Funktion in einem anderen
Slot aufgerufen. Wusste nicht das sowas geht. Hab ich gestern nacht erst
noch gelesen.
Gruß,
Christian

[Thema erledigt]
Code 4 Freedom
Antworten