QMetaObject::invokeMethod() geerbte Slots aufrufen
-
Hallo,
ich habe ein Problem beim aufrufen geerbter slots:QMetaObject::invokeMethod(pDbi->title, "setFont", Qt::QueuedConnection, Q_ARG(QFont, font18));
Dabei bekomme ich immer folgenden Output als Fehlermeldung:
QMetaObject::invokeMethod: No such method QLabel::setFont(QFont)
Weshalb wird die Funtion nicht aufgerufen?
-
Hallo,
weil QWidget::setFont nicht als Slot definiert ist.
Sonst evtl. Q_OBJECT bei Deiner Klasse vergessen.Warum rufst Du nicht direkt "pDbi->title->setFont(font18)" auf?
Viele Grüße,
Jakob
-
Q_OBJECT wird doch nur bentötigt, wenn die Klasse eigene Slots und Signale besitzt. Q_OBECJT in der Klasse zu definieren, löst das Problem nicht.
Naja, ich muss QMetaObject::invokeMethod verwenden, da ich von einem Thread aus arbeite.
-
So wie es aussieht muss man den Text mittels
setProperty()
setzten:pDbi->title->setProperty("text", QVariant("hello"));