[Gelöst]Fehlermeldung bei "addWidget()"

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

[Gelöst]Fehlermeldung bei "addWidget()"

Beitrag von blue5teel »

Hallo Leute.
Bin neu in der Qt und C++-Programmierung. Habe Java gelernt.

Habe ein Hauptfenster mit vier QFrames.
1) In eines bette ich Opengl ein. KLAPPT
2) In eines kommt ein Infobereich. NOCH NICHT BEARBEITET.
3) In eines kommen Ganttcharts. NOCH NICHT BEARBEITET.
4) In eines kommt eine Textausgabe mit QTextEdit m Stile einer Konsole. HIER HABE ICH EIN PROBLEM:

Wenn ich das QTextEdit-Objekt mit addWidget() in das
Layout-Objekt einfüge bekomme ich folgene Fehlermeldung:

error C2664: 'QBoxLayout::addWidget': Konvertierung des Parameters 1 von 'QLineEdit' in 'QWidget *' nicht möglich

Was läuft hier falsch ? Sonst klappt es so doch auch.
Hier der Quelltext:

Code: Alles auswählen

#include "form1.h"
#include "OglCode.h"



#include <qvariant.h>
#include <qframe.h>
#include <qlayout.h>
#include <qtooltip.h>
#include <qwhatsthis.h>
#include <qimage.h>
#include <qpixmap.h>
#include <qlineedit.h> 
#include <qtextedit.h> 


Form1::Form1( QWidget* parent, const char* name, bool modal, WFlags fl )
    : QDialog(  parent ,0,true,WStyle_Customize | WStyle_DialogBorder
				|WStyle_Title | WStyle_SysMenu | Qt::WType_TopLevel | Qt::WShowModal |Qt::WStyle_MinMax )
{
    if ( !name )
	setName( "Paretovisualisierung" );
    setMouseTracking( FALSE );

	////LAYOUT///////////
	/*QVBoxLayout *vbox = new QVBoxLayout( this, 11, 6 );
    QHBoxLayout *box1 = new QHBoxLayout( vbox );
    QHBoxLayout *box2 = new QHBoxLayout( vbox );*/
	////////////////////



	
    InfoFenster = new QFrame( this, "InfoFenster" );
    InfoFenster->setGeometry( QRect( 20, 20, 280, 221 ) );
    InfoFenster->setFrameShape( QFrame::StyledPanel );
    InfoFenster->setFrameShadow( QFrame::Raised );
	

	OpenglFenster = new QFrame( this, "OpenglFenster" );
    OpenglFenster->setGeometry( QRect( 320, 20, 280, 221 ) );
    OpenglFenster->setFrameShape( QFrame::StyledPanel );
    OpenglFenster->setFrameShadow( QFrame::Raised );

	

	QHBoxLayout* flayout = new QHBoxLayout( OpenglFenster, 5, 100, "flayout");
	OglCode* c = new OglCode(OpenglFenster,"Ogl");
	
	flayout->addWidget(c,0);

    GanttFenster = new QFrame( this, "GanttFenster" );
    GanttFenster->setGeometry( QRect( 320, 260, 280, 221 ) );
    GanttFenster->setFrameShape( QFrame::StyledPanel );
    GanttFenster->setFrameShadow( QFrame::Raised );

	Volumen_Fenster = new QFrame( this, "Volumen_Fenster" );
    Volumen_Fenster->setGeometry( QRect( 20, 260, 280, 221 ) );
    Volumen_Fenster->setFrameShape( QFrame::StyledPanel );
	Volumen_Fenster->setFrameShadow( QFrame::Raised );

	QLineEdit Textausgabe = new QLineEdit(Volumen_Fenster,"ausgabe");
	Textausgabe.setGeometry(QRect( 20, 260, 280, 221 ));

	QHBoxLayout* vlayout = new QHBoxLayout( Volumen_Fenster, 5, 100, "vlayout");
	vlayout->addWidget(Textausgabe,0);
	


	QVBoxLayout* vlayoutLinks = new QVBoxLayout(  5, "vlayoutLinks");
    vlayoutLinks->addWidget( InfoFenster,1 );
    vlayoutLinks->addWidget( Volumen_Fenster,1 );

	QVBoxLayout* vlayoutRechts = new QVBoxLayout( 5, "vlayoutRechts");
    vlayoutRechts->addWidget( OpenglFenster,1 );
    vlayoutRechts->addWidget( GanttFenster,1);


	QHBoxLayout* hlayout = new QHBoxLayout( this, 5, 5, "hlayout");
    hlayout->addLayout( vlayoutLinks);
	hlayout->addLayout( vlayoutRechts);



    languageChange();
    resize( QSize(619, 501).expandedTo(minimumSizeHint()) );
    clearWState( WState_Polished );

	
}

Form1::~Form1()
{
    // no need to delete child widgets, Qt does it all for us
}


void Form1::languageChange()
{
    setCaption( tr( "Form1" ) );
}
Zuletzt geändert von blue5teel am 18. Juni 2006 18:16, insgesamt 2-mal geändert.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Die Funktion benötigt einen Pointer, Du übergibst eine Referenz.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
blue5teel
Beiträge: 18
Registriert: 18. Juni 2006 16:18

Beitrag von blue5teel »

Mann Mann Mann ...


Danke....


Wie gesagt : Ich bin Java gewohnt.
Antworten