未知类型名称 QML_ELEMENT

lat*_*o96 1 qt qml qt5

在新的 Qt 5.15.0 中,有一种新的声明方式来注册 C++ 类型以在 QML 中使用。我按照Qt 帮助中给出的步骤(https://doc.qt.io/qt-5/qtqml-cppintegration-definetypes.html#registering-an-instantiable-object-type)但它给了我以下错误:

/.../randomnumbergenerator.h:10: error: ‘QML_ELEMENT’ does not name a type
     QML_ELEMENT
     ^~~~~~~~~~~
Run Code Online (Sandbox Code Playgroud)

目前该类的定义是:

/.../randomnumbergenerator.h:10: error: ‘QML_ELEMENT’ does not name a type
     QML_ELEMENT
     ^~~~~~~~~~~
Run Code Online (Sandbox Code Playgroud)

编辑:我已经在.pro文件中添加了以下内容:

CONFIG += c++11 qmltypes
QML_IMPORT_NAME = SimpleRng
QML_IMPORT_MAJOR_VERSION = 1
Run Code Online (Sandbox Code Playgroud)

eyl*_*esc 7

正如他们在Qt 论坛中指出的那样,您必须包含<qml.h>(或<QtQml>