QTabWidget und Kontextmenu

Alles rund um die Programmierung mit Qt
Antworten
whit3
Beiträge: 42
Registriert: 1. Februar 2010 09:55

QTabWidget und Kontextmenu

Beitrag von whit3 »

mein header

Code: Alles auswählen

class QTabWiget : QTabWidget
{
	Q_OBJECT
	public :
	 void contextMenuEvent ( QContextMenuEvent * e )
			{
				QMessageBox::information( this, "Test",
				"testtesttest");

			}			
};

class ApplicationWindow: public QMainWindow
{
    Q_OBJECT
public:
    ApplicationWindow();
    ~ApplicationWindow();	
	QTabWidget *tabWidget;  		
};

Warum kommt jetzt nicht die Testmeldung, wenn ich auf meinen Tab rechtsklick mache...?!
Das Ziel soll ein Texteditor mit mehreren Tabs sein.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

QTabWidget hat eine QTabBar für die man events abfangen müßte.
whit3
Beiträge: 42
Registriert: 1. Februar 2010 09:55

Beitrag von whit3 »

upsala hat geschrieben:QTabWidget hat eine QTabBar für die man events abfangen müßte.
könntest du mir ein klitzekleines codesnippet geben :oops:

Das ist mega nett :)
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Also...
Dass das

Code: Alles auswählen

class QTabWiget : QTabWidget 
gut geht, liegt nur an einem Schreibfehler... Bitte eigene Klassen nicht im Stile QMeineKlasse benennen. Nimm einen eigenen Prefix oder - noch besser - statt Prefix nimm namespaces!

Das contextMenuEvent ist wie (fast) alle Event-Funktionen protected, also kein Grund es public zu setzen. Durch das virtual könntest du es sogar private machen, es bleibt trotzdem noch erreichbar.

Und Events abfangen geht mit dem eventFilter. In der Doku danach suchen, da gibt es ein schönes, leicht verständliches Beispiel.

Grüße
Franz
whit3
Beiträge: 42
Registriert: 1. Februar 2010 09:55

Beitrag von whit3 »

danke erstmal werde ich mir anschauen !
hab wohl alles falsch gemacht ^^
Antworten