Widget mit Menu?

Alles rund um die Programmierung mit Qt
Antworten
Spielgrips
Beiträge: 51
Registriert: 8. März 2006 23:09
Kontaktdaten:

Widget mit Menu?

Beitrag von Spielgrips »

Ich habe eine Frage und zwar kann man in ein Widget auch so eine MenuBar einfügen wie beim QMainWindow?

Ich habe mal ein QMenuBar, QMenu Objekt erstellt und dem Widget hinzugefügt und es hat ja auch geklappt, aber es sieht so aus:

http://xabia.ath.cx/qpin.jpg

Das wird nur mit einer Tile dargestellt worauf man klicken kann und es erscheint ein Menu.

Muss man ein Propertie anders definieren das es geht :)?
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Was spricht dagegen ein QMainWindow zu verwenden?
Spielgrips
Beiträge: 51
Registriert: 8. März 2006 23:09
Kontaktdaten:

Beitrag von Spielgrips »

Ich hab doch ein QMainWindow schon :)! Und auf'm Workspace kann man ja nur Widgets einfügen!
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Ja und? Ein QMainWindow ist doch auch ein QWidget...
Spielgrips
Beiträge: 51
Registriert: 8. März 2006 23:09
Kontaktdaten:

Beitrag von Spielgrips »

Reintheoretisch schon, aber zwei QMainWindow :) In der alten Qt3 Version ging das noch das man einfach in ein QWidget ein Menü definiert und fertig aus.. Aber irgendwie klappt das nicht mehr so..
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Code: Alles auswählen

#include <QtGui>

int main(int argc, char *argv[])
{
	QApplication app(argc, argv);
	
	QMainWindow *main=new QMainWindow(0);
	
	QAction *exitAct = new QAction("E&xit", main);
	//exitAct->setShortcut("Ctrl+Q");
	exitAct->setStatusTip("Exit the application");
	QMainWindow::connect(exitAct, SIGNAL(triggered()), main, SLOT(close()));
	
	QMenu *fileMenu = main->menuBar()->addMenu("&File");        
  fileMenu->addAction(exitAct);
	
	QWorkspace *space=new QWorkspace(main);
	main->setCentralWidget(space);
	
	QMainWindow *child=new QMainWindow(space);
	space->addWindow(child);
	
	QAction *exitAct2 = new QAction("Close", child);
	//exitAct->setShortcut("Ctrl+Q");
	exitAct2->setStatusTip("Closes the window");
	QMainWindow::connect(exitAct2, SIGNAL(triggered()), child, SLOT(close()));
	
	QMenu *fileMenu2 = child->menuBar()->addMenu("&File");        
  fileMenu2->addAction(exitAct2);
	
	
	main->show();
	
  
  return app.exec();
}
Dateianhänge
mainwindow.png
mainwindow.png (7.11 KiB) 3330 mal betrachtet
Antworten