Seite 1 von 1

eigene funktion wird erkannt aber das label nicht!

Verfasst: 3. März 2007 20:43
von Linuxguru
hallo,

ich hab mir eine eigene funktion geschrieben, um damit ber buttonklick den text des labels zu ändern. dabei stosse ich auf das problem, das mein objekt label nicht erkannt wird

mein code

test.cpp

Code: Alles auswählen

#include <qpushbutton.h>
#include <qlineedit.h>
#include <qlayout.h>
#include <qpopupmenu.h>
#include <qmenubar.h>
#include <qlabel.h>

#include "test.h"

TestWidget::TestWidget(QWidget* parent, const char* name)
  : QWidget(parent, name)
{
    QLayout* layout = new QVBoxLayout(this);

    QPopupMenu *fileMenu = new QPopupMenu(this);
    fileMenu->insertItem( "Neu" );
    fileMenu->insertItem( "Oeffnen");
    fileMenu->insertSeparator();
    fileMenu->insertItem( "&Beenden", this, SLOT(close()));

    QMenuBar *mainMenu = new QMenuBar(this);
    mainMenu->insertItem( "&Datei",fileMenu );

    QLabel *label = new QLabel(this);
    label->setText("alter text");
    label->setGeometry(0, 120, 200, 50);
    label->setAlignment(Qt::AlignCenter);
    label->setFont(QFont("Arial", 20, QFont::Bold));

    QLineEdit* lineEdit = new QLineEdit(this);
    QPushButton* button = new QPushButton("Hier klicken", this);

    layout->add(lineEdit);
    layout->add(button);
    layout->add(label);

    QObject::connect(button, SIGNAL(clicked()), label, SLOT(changeLabel)); 
}

void TestWidget::changeLabel()
{
    label->setText("neuer text");
}
test.h

Code: Alles auswählen

#ifndef QTTUTWIDGET_H
#define QTTUTWIDGET_H

#include <qwidget.h>

class TestWidget : public QWidget
{
    Q_OBJECT
public:
    TestWidget(QWidget* parent=0, const char* name=0);

protected slots:

protected:
};

#endif
main.cpp

Code: Alles auswählen

#include <qapplication.h>

#include "test.h"

int main( int argc, char* argv[] )
{
    QApplication app( argc, argv );

    TestWidget tutwidget( 0 );
    tutwidget.resize( 300,300 );

    app.setMainWidget( &tutwidget );

    tutwidget.show();

    return app.exec();
}
ich geh mal von aus, das ich mein label öffentlich machen muss... aber wie???

Verfasst: 3. März 2007 20:55
von Christian81
LERNT ENDLICH ERSTMAL DIE C++ - GRUNDLAGEN!!!!

http://qtforum.de/forum/viewtopic.php?t=3803
http://qtforum.de/forum/viewtopic.php?t=3800

Sorry, aber das ist mittlerweile der dritte innerhalb eines Tages der keine Ahnung von C++ hat...

Verfasst: 3. März 2007 21:11
von Linuxguru
hallo christian81,

deswegen bin doch hier angemeldet, um mein problem zu klären. wenn ich wüsste, wo mein problem liegt, dann bräuchte ich hier auch keine anmeldung in diesen forum.

ich dachte bisher immer, dass qt auf c++ aufbaut, also bin ich doch auch der meinung, das c++ spezifische fragen hier angebracht sind.

evtl. kannst du mir ja mal ein tip geben, wo das problem liegen könnte.

danke

Verfasst: 3. März 2007 21:40
von Christian81
Qt basiert auf C++, aber ohne dass man C++ Grundlagen hat, hat es keinen Sinn mit Qt anzufangen!

Hast Du die beiden Threads gelesen? Da ging es in beiden um Dein Problem...

Verfasst: 3. März 2007 21:46
von Linuxguru
ups.. die waren vorhin nicht angezeigt..

dank dir :-)