Seite 1 von 1

connect mit Objekt innerhalb eines anderen Objektes

Verfasst: 22. März 2010 16:06
von gary
Hallo,

ich moechte einen Slider, der sich innerhalb eines Widgets befindet ansprechen. Dazu habe ich einen Selektor erstellt:

QSlider KZeit::getMin() {
return(balken);
}

'balken' ist ein QSlider. Eine andere Klasse 'KFenster' erstellt nun Instanzen von KZeit, hier 'schlafen'. Nun versuche ich zu Konnekten:

QObject::connect(schlafen->getMin(),SIGNAL(sliderMoved(int)),this,SLOT(minToStu(int)));

void minToStu(int){...} ist ein public slot. Als Fehlermeldung erhalte ich seltsamerweise:

/home/jacobi/gary/qt/role/KFenster.cpp:122: error: no matching function for call to 'KFenster::connect(QSlider, const char*, KFenster* const, const char*)'

ausserdem:

/usr/include/QtCore/qobject.h:191: note: candidates are: static bool QObject::connect(const QObject*, const char*, const QObject*, const char*, Qt::ConnectionType)

QSlider ist doch ein QObject, oder nicht?

Danke

Verfasst: 22. März 2010 16:17
von Christian81
Entweder KFenster ist kein QObject oder QSlider und/oder KFenster sind nur als Vorwärtsdeklaration vorhanden.

/edit: und liefert schlafen->getMin() wirklich einen Pointer zurück?

Verfasst: 22. März 2010 16:30
von gary
Ich hoffe meine Fragen sind nicht zu dumm. Mir kommt's langsam so vor.
Es haette heissen muessen:

QSlider* KZeit::getMin() {
return(balken);
}

vielen Dank!