【发布时间】:2012-01-29 04:33:45
【问题描述】:
我的应用程序有一个 QML 部分,它需要知道我处于什么状态。currentProfileChanged 函数有一个信号给我一个 QSystemDeviceInfo::Profile,我想将它转换为 QVaraint,以便 QML可以将 profile 理解为 0 到 7 之间的数字,但是这个函数:
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,它也会抱怨不兼容的参数。
【问题讨论】:
标签: c++ qt profile qml signals-slots