skill-module-export

Document Qt export and QML registration macros for API visibility.

19|29|Updated May 6, 2013
One-click install
npx skills add https://github.com/qt/qtqa --skill skill-module-export
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: skill-module-export
Source: https://github.com/qt/qtqa/tree/main/documentation_review/skills/skill-module-export
Command: npx skills add https://github.com/qt/qtqa --skill skill-module-export

SYSTEM DOCUMENTATION & REQUIREMENTS

## What problem does it solve?

Qt export macros and QML registration macros govern symbol visibility and how documentation should distinguish public API from internal usage. This Skill provides a reference to interpret these macros and the implications for documentation and API surface.

## Core Features & Use Cases

  • Provides a consolidated view of common export macros (e.g., Q_CORE_EXPORT, Q_GUI_EXPORT) and QML registration macros, plus patterns for when export plus internal is valid.
  • Includes decision trees and examples to decide when a class requires full public API documentation versus internal notes, including handling of _p.h headers and *Private classes.
  • Documents the cross-cutting guidance for combining C++ export rules with QML exposure to ensure consistent user-facing docs.

### Quick Start

Consult this guide to classify Qt API surfaces by header type, export macro usage, and QML registration macros.

Frequently Asked Questions about skill-module-export

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do Qt export macros determine public versus internal API visibility?

Qt export macros like Q_CORE_EXPORT and Q_GUI_EXPORT govern symbol visibility and classify API surfaces. They indicate whether C++ headers require full public documentation or internal notes based on their export patterns.

What is the documentation rule for Qt private headers and Private suffix classes?

Qt private headers use the _p.h suffix, and classes with a Private suffix indicate internal API visibility. They require internal documentation notes rather than full public API reference materials.

How do I document QML registration macros for C++ and QML integration?

QML registration macros expose C++ types to QML and require cross-cutting documentation combining C++ export rules with QML exposure. This ensures consistent user-facing docs across integration scenarios.

When is an export macro combined with internal valid in Qt modules?

An export-with-internal pattern is valid when a Qt module needs to share symbols internally across modules while restricting public API visibility. This specific pattern requires careful documentation to distinguish internal sharing from public exposure.

How do I classify Qt API surfaces by header location and export macros?

Classify Qt API surfaces by examining header location rules, export macro usage, and QML registration macros. Apply decision trees to C++ headers across Qt modules to determine documentation requirements.