eigene funktion wird erkannt aber das label nicht!
Verfasst: 3. März 2007 20:43
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
test.h
main.cpp
ich geh mal von aus, das ich mein label öffentlich machen muss... aber wie???
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");
}
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
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();
}