Wie Layout zu MainWindow hinzufügen ?

Alles rund um die Programmierung mit Qt
Antworten
pospiech
Beiträge: 232
Registriert: 1. September 2006 17:20
Wohnort: Hannover

Wie Layout zu MainWindow hinzufügen ?

Beitrag von pospiech »

Ich habe in den Konstruktor von MainWindow folgendes geschrieben

Code: Alles auswählen

	buttonShowOutput = new QPushButton("Show Output");
	buttonCloseOutput = new QPushButton("Close Output");

	layoutHorOutputButtons = new QHBoxLayout; 
	layoutHorOutputButtons->addWidget(buttonShowOutput);
	layoutHorOutputButtons->addWidget(buttonCloseOutput);	

	layoutHorMain = new QHBoxLayout; 
	layoutHorMain->addLayout(layoutHorOutputButtons);
	setLayout(layoutHorMain);
aber das bringt mit nur die Fehlermeldung
QWidget::setLayout: Attempting to add QLayout "" to MainWindow "", which already has a layout
was müsste ich anders machen?

Matthias
NoobSaibot
Beiträge: 99
Registriert: 27. Januar 2005 15:55

Beitrag von NoobSaibot »

da das mainwindow bereits über ein layout verfügt, brauchst du nur noch dem vorhandenem layout dein layout hinzuzufügen

Code: Alles auswählen

layout()->addLayout( meinLayout )
pospiech
Beiträge: 232
Registriert: 1. September 2006 17:20
Wohnort: Hannover

Beitrag von pospiech »

NoobSaibot hat geschrieben:da das mainwindow bereits über ein layout verfügt, brauchst du nur noch dem vorhandenem layout dein layout hinzuzufügen

Code: Alles auswählen

layout()->addLayout( meinLayout )
Das geht so nicht:

Code: Alles auswählen

	setupUi(this);

	buttonShowOutput = new QPushButton("Show Output");
	buttonCloseOutput = new QPushButton("Close Output");
	
	layoutHorOutputButtons = new QHBoxLayout; 
	layoutHorOutputButtons->addWidget(buttonShowOutput);
	layoutHorOutputButtons->addWidget(buttonCloseOutput);	

	layoutHorMain = new QHBoxLayout; 
	layoutHorMain->addLayout(layoutHorOutputButtons);
	layout()->addLayout(layoutHorMain);
liefert
.\MainWindow.cpp(20) : error C2039: 'addLayout': Ist kein Element von 'QLayout'
c:\programme\qt4\include\qtgui\../../src/gui/kernel/qlayout.h(69): Siehe Deklaration von 'QLayout'
Matthias
pospiech
Beiträge: 232
Registriert: 1. September 2006 17:20
Wohnort: Hannover

Beitrag von pospiech »

Was allerdings geht ist

Code: Alles auswählen

m_centralwidget->setLayout(layoutHorMain);
Damit lösche ich aber das vorher in setupUi(this); erstellte Layout. Wie das Layout heißt das vorher verwendet wird konnte ich aber nicht finden. Denn was ich doch eigentlich will ist ein "addLayout" oder ?

Matthias
Antworten