私は、アプリケーションのQML部分を持っています。currentProfileChanged
関数は、私にQVaraint
に変換するQSystemDeviceInfo::Profile
という信号を与えています。 QMLは0から7までの番号として、プロファイルを理解することができますが、この機能:QObject QSystemDeviceInfo :: ProfileをQVariantに接続します
QObject::connect(deviceInfo,
SIGNAL(currentProfileChanged(QSystemDeviceInfo::Profile)),
rootObject,
SLOT(changePower(QVariant(QSystemDeviceInfo::Profile))));
は、この奇妙なエラーを与える:
[Qt Message] Object::connect: No such slot
QDeclarativeItem_QML_3::changePower(QVariant(QSystemDeviceInfo::Profile))
in C:/Users/Gerhard/QTProjects/Raker/main.cpp:142
私はここで間違って何をしているのですか?
私はこれをしようとした場合:
QObject::connect(deviceInfo,
SIGNAL(currentProfileChanged(QSystemDeviceInfo::Profile)),
rootObject,
SLOT(changePower(QVariant(QSystemDeviceInfo::Profile))));
それはこのことを言う:
[Qt Message] Object::connect: No such slot
QDeclarativeItem_QML_3::changePower(QSystemDeviceInfo::Profile)
in C:/Users/Gerhard/QTProjects/Raker/main.cpp:142
私はちょうどそれがまた、互換性のない引数文句QVariantにいずれかまたは両方を変更した場合。
おかげで、私はそれを試してみましたが、それは鶏が文句:/ /ユーザ/ゲルハルト/ QTProjects:[Qtのメッセージ]オブジェクト::接続:いいえ、そのようなスロットQDeclarativeItem_QML_3 :: changePower(QSystemDeviceInfo ::プロフィール)CでのRender/main.cpp:142 – Gerharddc
Arnold Spenceが提案したように、 'changePower(QVariant(QSystemDeviceInfo :: Profile))'から 'changePower(QSystemDeviceInfo :: Profile)'にスロット宣言を変更すると、 – Neox
になりますqmlの宣言は次のようになります:function changePower(power)。このように見える他のすべてのものはQVAriantを取ってから動作します。 – Gerharddc