我有一个由 QFutureWatcher 触发的插槽。我正在尝试投射发件人以获取结果
QFutureWatcher<QPair<QImage,QString>>* QFW = qobject_cast<QFutureWatcher<QPair<QImage,QString>>*>(sender());
Run Code Online (Sandbox Code Playgroud)
但不断得到
error: static assertion failed: qobject_cast requires the type to have a Q_OBJECT macro
Run Code Online (Sandbox Code Playgroud)
我不太确定这里有什么问题,这些都是 Qt 内置类型,所以我做错了什么?
您必须将 Q_OBJECT 放入类定义中,如下所示:
class MyClass : public QObject
{
Q_OBJECT
// ^^^^^^^^^^
public:
MyClass();
/*...*/
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
763 次 |
| 最近记录: |