myview::change(int): Not implemented yet

Alles rund um die Programmierung mit Qt
Antworten
curator
Beiträge: 26
Registriert: 15. April 2007 21:34

myview::change(int): Not implemented yet

Beitrag von curator »

Hallo.
Ich versuche zZ ein Kicker Applet umzuschreiben, um für mich persönlich eine weitere Funktionalität einzufügen.
Dazu habe ich ein neues KDE Projekt "Kicker Applet" erstellt und die Cpp und h Datei kopiert, die UI datei bekannt gemacht und das ganze mal kompilert, installiert -> läuft wunderbar (mit der Orginalfunktionalität)

Die UI Datei wollte ich nun mit einem Slider erweitern, Der war auch schnell mit dem QT Designer eingebaut und wenn ich die Connection von ValueChanged auf quit lege, alles neu erstelle, schließt der beim slider das Fenser (Sinnlos, aber immerhin passiert was)

Nun wollte ich bei ValueChange eine Funktion aufrufen, die ich change(int value) genannt habe, und auf die Frage, wohin er sie erstellen soll, erstellte ich die Funktion in der "Hauptcpp" Datei.

Nun wäre der Rest der Programmierarbeit ein leichtes, wenn diese Funktion korrekt aufgerufen würde, allerdings kompiliert er, nach einer Installtion und anschließende SliderChange folge im Kicker die Meldung:

Code: Alles auswählen

myview::change(int): Not implemented yet
Im Header der mainDatei:

Code: Alles auswählen

public slots:
    virtual void change(int value);

Um im Rumpf

Code: Alles auswählen

void Kcpufreq::change(int value)
{
	mainView->freqLabel->setText("Hallo");
}
Warum "findet" der den Slot nicht? Jemand ne Idee?

Vielen Dank,
Alex
caligano
Beiträge: 126
Registriert: 19. August 2006 15:33

Beitrag von caligano »

Du musst schon ein connect() in deinem Programm einbauen!

dazu einfach mal die Doku lesen:

--> http://doc.trolltech.com/4.2/qobject.html#connect
curator
Beiträge: 26
Registriert: 15. April 2007 21:34

Beitrag von curator »

Problem gelöst, das mit dem connect stimmt. Ich war der Meinung, dass das automatisch passieren würde, wenn man den Q-Designer benutzt, leider war dem (wohl) nicht so. mit nen schönen connect Befehl per Hand luft alles bestens.

Danke
Antworten