22

What is the meaning of the //! [n] (n = 0, 1, 2 ...) markup in the C++/QML sources in the Qt sample projects?

For example:

//! [0]
GLWidget::GLWidget(Helper *helper, QWidget *parent)
    : QGLWidget(QGLFormat(QGL::SampleBuffers), parent), helper(helper)
{
    elapsed = 0;
    setFixedSize(840, 400);
    setAutoFillBackground(false);
}
//! [0]

//! [1]
void GLWidget::animate()
{
    elapsed = (elapsed + qobject_cast<QTimer*>(sender())->interval()) % 1000;
    repaint();
}
//! [1]

//! [2]
void GLWidget::paintEvent(QPaintEvent *event)
{
    QPainter painter;
    painter.begin(this);
    painter.setRenderHint(QPainter::Antialiasing);
    helper->paint(&painter, event, elapsed);
    painter.end();
}
//! [2]
2
  • 1
    they are just comments. Commented Jul 7, 2013 at 1:06
  • 5
    Documentation purposes most likely. Commented Jul 7, 2013 at 1:14

1 Answer 1

31

Despite the common misconception, this is qdoc syntax, not doxygen. This comment is for documentation purposes in the Qt Project to mark example snippets to be rendered so. See the documentation and the corresponding code that implements this feature.

As an end user of Qt, you do not need to deal with it too much unless you start contributing to the Qt Project itself or you are trying to reuse qdoc for your own project, which would be admittedly odd at this point.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.