0

我制作了一个 qml 库,现在我想制作一个文档。我将 QDoc 与Qt 5.10.10 与 msvc2015LLVM 9.0.0一起使用。

我想显示以下 2 个数据:

在此处输入图像描述

  • 继承:我尝试使用 \inherits 但我没有看到任何结果。我尝试使用 QtQuick 中的项目(使用 QtQuick::Item)和我自己的库中的项目。我错过了什么吗?
  • 进口声明:我只是不知道该怎么做。看来我必须使用 \qmlmodule 但无论我在我的 qdocconf 还是在我的 qml 文件中使用它都有一个错误。

在我目前拥有的代码下方:

// MyButton.qml - the header
    /*!
    QtQuick.Controls 1.1

    \qmltype SolidButton
    \qmlmodule MyModule
    \inherits QtQuick::Button
    \brief My button. It inherits from Button from QtQuick.

    \section1 Detailed Example

    \qml
    MyButton {
        text: "My Button";
    }
    \endqml
    */

// qdocconf

    sourcedirs += ../qml/
    headerdirs += ../qml/
    imagedirs = .

    sources.fileextensions = "*.qml"

    outputdir  =    ./doc/qml/
    outputformats = HTML

    HTML.stylesheets = style.css
    HTML.headerstyles = "<link rel=\"stylesheet\" type=\"text/css\" href=\"style/style.css\"/>\n"

----- 编辑:正如评论中所问的,这里是我的错误

  • 继承:我只是没有看到任何结果。\inherits 对 qt 控件或我自己的本地控件没有影响
  • 进口声明。如果我尝试在我的 qml 文件中使用 \qmlmodule,我会收到此错误 在此处输入图像描述 如果我什么都不做,我会收到以下信息: 在此处输入图像描述

----- 编辑 2:我还应该提到我使用的是 Visual Studio,而不是 Qt Creator

4

1 回答 1

0

qml 文件中不允许使用 \qmlmodule。您必须将其添加到单独的 myQMLmoduleName.qdoc 文件中:

 /*!
  \qmlmodule MyControls
  \brief Mycustom controls.
*/

然后将 *.qdoc 扩展添加到您的 myConfig.qdocconf 中,以便 qdoc 找到您的 myQMLmoduleName.qdoc。

# what kind of sources should be processed
sources.fileextensions += "*.qdoc *.cpp *.qml"
sourcedirs += ../path/to/your/config/
于 2021-08-11T07:45:01.173 回答