[gelöst] QSlider im QMenu???

Alles rund um die Programmierung mit Qt
Antworten
daRonny
Beiträge: 23
Registriert: 21. November 2007 23:09
Kontaktdaten:

[gelöst] QSlider im QMenu???

Beitrag von daRonny »

Kann ich ein QSlider in einem QMenu verwenden oder einbauen??? Wenn ja, habt ihr eine Idee?
Zuletzt geändert von daRonny am 2. Februar 2008 16:55, insgesamt 1-mal geändert.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

QWidgetAction
daRonny
Beiträge: 23
Registriert: 21. November 2007 23:09
Kontaktdaten:

Beitrag von daRonny »

Danke für deine Hilfe, jedoch hab ich nun das Problem!

Code: Alles auswählen

	QSlider *slider = new QSlider(this);
	slider->setTickInterval(100);
    	
	QWidgetAction * widgetslider = new QWidgetAction(this);
	widgetslider->setDefaultWidget(slider);

// Ich kann nun kein addMenu hier verwenden da er eine Action will :(
	menuBar()->addAction(widgetslider);

Irgendwie weiss ich nun nicht wie ich das QWidgetAction im Menu einbauen kann!
daRonny
Beiträge: 23
Registriert: 21. November 2007 23:09
Kontaktdaten:

Beitrag von daRonny »

Okay.. ich hab es hinbekommen.

Code: Alles auswählen

QMenu *sliderMenu = new QMenu(tr("&Slider"), this);
	QSlider *slider = new QSlider(this); 
	    	
	QWidgetAction * widgetslider = new QWidgetAction(this);
	widgetslider->setDefaultWidget(slider);

	sliderMenu->addAction(widgetslider);
	menuBar()->addMenu(sliderMenu);
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Eine QMenuBar ist kein QMenu, dein Code passt nicht zur ersten Fragestellung...

//edit: Ok, war zu langsam mit meiner Antwort...
daRonny
Beiträge: 23
Registriert: 21. November 2007 23:09
Kontaktdaten:

Beitrag von daRonny »

sorry.. für meine falsche Ausdrucksweise... eigentlich wollte ich auch den Slider in das QMenuBar einfügen, doch habs nur in das QMenu geschafft.... :( .. eigentlich nicht das was ich wollte, doch muss damit nun klar kommen!
Zonk
Beiträge: 51
Registriert: 17. September 2006 15:28
Kontaktdaten:

Beitrag von Zonk »

Da ich nun vor dem gleichen Problem stehe wie der Threadstarter:

Kann man ein QWidget nicht direkt in die Menubar einbinden?

Ich möchte neben den normalen Menüs ein Widget einbinden, das dem Benutzer den Login ermöglicht. Testweise binde ich erstmal ein QSlider ein, und wenn ich raus habe wie es funktioniert werde ich dort mein eigenes QWidget einbinden.

Ich schaffe es aber wie mein Threadstarter nur, das Widget in ein Menü einzubinden, nicht direkt in den Menubar.
Andere, in Menüs verwendete QActions lassen sich auch direkt in die Menubar einbinden, nur mit demQWidgetAction funktioniert es nicht.

Mein Betriebssystem ist Windows, ich habe nur für MAC gelesen dass dort keine Widgets in die Menubar integriert werden können..

Gibt es da eine Lösung?

Mein code sieht so aus:

Code: Alles auswählen

slider = new QSlider(this);
   slider->setTickInterval(100);
   slider->setOrientation( Qt::Horizontal );
   slider->setGeometry( 0,0, 35,15 );
       
   widgetslider = new QWidgetAction(this);
   widgetslider->setDefaultWidget(slider);

   ui.menuBar->addAction(widgetslider);
   ui.menuHelp->addAction(widgetslider);
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Dies ist nicht möglich. Siehe auch Qt-Code...
Antworten