Bei Klick eines PopupMenuitems kein Effekt

Verschiedenes zu Qt
Antworten
blue5teel
Beiträge: 18
Registriert: 18. Juni 2006 16:18

Bei Klick eines PopupMenuitems kein Effekt

Beitrag von blue5teel »

Hallo Leute...
Bin neu in der C++ und Qt-Programmierung
Programmiere eine Gui um meinen Opengl-kram herum. Ich benutze nicht den Designer sondern schreibe alles von Hand.
Habe folgende Zeilen in meiner Form-Klasse um ein Paar QPopupMenus einzubinden und bei Klick auf deren Items entsprechende Funktionen auszulösen:

Code: Alles auswählen

QMenuBar *menubar = new QMenuBar(this);

QPopupMenu *edit = new QPopupMenu( this );
edit->insertItem( "toggle &Apex",  this, SLOT(toggleApex()), CTRL+Key_A );

menubar->insertItem( "&Edit", edit );

Code: Alles auswählen

void Form1::toggleApex()
{
	c->apex = !c->apex;
	(static_cast<QTextEdit*>(Volumen_Fenster->child("ausgabe")))->setText("Inside !");
	
}
Habe die "toggleApex()-Methode im Headerfile auch als "public slot" deklariert.

Habe jetzt aber trotzdem keinen Effekt wenn ich auf "toggle Apex" klicke.
Muss noch an anderen Stellen irgendwelche Zeilen einfügen ?
thx...
jaegermeister
Beiträge: 70
Registriert: 11. August 2004 07:44
Wohnort: Bergen auf Rügen
Kontaktdaten:

Beitrag von jaegermeister »

Hi
hast du im Header "Q_OBJECT" stehen?
Wenn nicht reinschreiben, dann QMake, dann moc und Kopilieren.
Ist nur mein erster gedanken

mfg jaegermeister
Wie könnten ja wenn wir wollten, aber wie wollen ja nicht.
blue5teel
Beiträge: 18
Registriert: 18. Juni 2006 16:18

Beitrag von blue5teel »

Leider steht das besagte schon im Header..

Aber trotzdem danke....

Hat jemand nen anderen Vorschlag ?
Esleborn
Beiträge: 265
Registriert: 27. Januar 2005 01:23
Wohnort: Baden-Würtenberg
Kontaktdaten:

Beitrag von Esleborn »

hast du mal geschaut, ob der connect eine Warnung zurück gibt? (also bei verarbeiten der Zeile: edit->insertItem( "toggle &Apex", this, SLOT(toggleApex()), CTRL+Key_A ); )
Glaube an eine Lösung, nur dann kannst du auch eine finden.
blue5teel
Beiträge: 18
Registriert: 18. Juni 2006 16:18

Beitrag von blue5teel »

Danke Jungs...
Ich habs gelöst.....
Das Problem war einfach, dass ich im Commandprompt vom Visual Studio .Net 2003 nochmal qmake und nmake aufrufen musste.
Bis jetzt hatte das normale kompilieren im Visual Studio gereicht.

Damit kommt jetzt aber ein neues Problem auf. Es wird auf diese Commandprompt-kompilierweise meine alte Form.ui benutzt.
Die will ich aber nicht, weil ich bis Dato manuell im Form.cpp-Quellcode noch viele Sachen mehr hinzugefügt habe als in der alten Form.ui vorhanden waren. Was muss ich anders machen.

Sorry, weise nochmal darauf hin, dass ich C++ und Qt-Newbie bin.
Danke.
Antworten