QtCreator Designer如何在QML类型中查看自定义对象?

QtCreator Designer如何在QML类型中查看自定义对象?,qt,qml,qt-creator,qtquick2,qt-designer,Qt,Qml,Qt Creator,Qtquick2,Qt Designer,我是QtCreator的新手,我的问题是我无法看到QML自定义组件 例如,如果导入QML类型下显示的QtQuick.Controls 1.5: -Qt快速控制 到目前为止,我已经创建了我的个人组件集,以下是文件夹结构: 组件qmldir是通过以下方式完成的: # qmldir module components Header 1.0 Header.qml Footer 1.0 Footer.qml CentralPage 1.0 CentralPage.qml GenericButton 1.

我是QtCreator的新手,我的问题是我无法看到QML自定义组件

例如,如果导入QML类型下显示的QtQuick.Controls 1.5: -Qt快速控制

到目前为止,我已经创建了我的个人组件集,以下是文件夹结构:

组件qmldir是通过以下方式完成的:

# qmldir
module components
Header 1.0 Header.qml
Footer 1.0 Footer.qml
CentralPage 1.0 CentralPage.qml
GenericButton 1.0 GenericButton.qml
ProgressBarCustom 1.0 ProgressBarCustom.qml
例如,在LandingPageFrom.ui.qml中

import QtQuick 2.6
import QtQuick.Controls 1.5
import QtQuick.Layouts 1.3

import components 1.0 as Components

Components.CentralPage {
    pageName: "landingPage"

    id: landingPage

    width: 800
    height: 1056
    property alias aButton: aButton

    Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
}
编译和显示都很好,但在设计器中,没有任何东西显示为aspected,我只看到.qml位于同一目录中,但不在components目录中:

这就是我在.pro和main.cpp中所做的

QML_IMPORT_PATH += $$PWD/resources/common/ui
QML_DESIGNER_IMPORT_PATH += resources/common/ui
main.cpp

QQmlApplicationEngine engine;
engine.addImportPath("qrc:///ui");
engine.load(QUrl("qrc:///ui/main.qml"));

奇怪的是,只有设计师无法看到组件,但QML代码能够看到,我在这里遗漏了什么?

不确定您是否已经解决了问题,但请尝试这里的步骤4和5:

这使它适合我,尽管我对metainfo文件有一些问题。您可以使用这个guys metainfo文件作为示例(或者查看上面的说明中引用的Qt文档):

只需确保将designer文件夹放在模块qmldir所在的位置,并将metainfo文件放入其中。根据模块名称判断,可能命名为components.metainfo,但不确定这是否重要