eigene funktion wird erkannt aber das label nicht!

Alles rund um die Programmierung mit Qt
Antworten
Linuxguru
Beiträge: 96
Registriert: 14. Januar 2007 02:09

eigene funktion wird erkannt aber das label nicht!

Beitrag 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???
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag 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...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Linuxguru
Beiträge: 96
Registriert: 14. Januar 2007 02:09

Beitrag 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
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag 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...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Linuxguru
Beiträge: 96
Registriert: 14. Januar 2007 02:09

Beitrag von Linuxguru »

ups.. die waren vorhin nicht angezeigt..

dank dir :-)
Antworten