Run with --diagnose --json to check your Qt version, import path, fonts, runtime and license. No license token is printed.
The Gallery evaluation app is available now. Paid SDK sales and downloads are coming soon. The installation examples above preview the SDK workflow.
Tested Windows configurations
Native window and example smoke checks cover the versions below. Qt 6.8 is a source minimum, not a promise of tested support for every Qt release. Gallery uses software rendering.
Two complete application examples
Step-by-step captures from the running Windows applications. Play, pause and inspect each state.
Workbench: mark a task done, save changes and see release progress update.Record Manager: preserve a failed save, retry, search and confirm before deleting.
See the components in context
RibbonPanelFormTableTreeTheme
TRY IT YOURSELF
The native Gallery
Browse examples, inspect properties and switch between light and dark themes in a Windows application. The Gallery is for evaluation; commercial SDK access is separate.
The --qml path must contain the Syidax folder. Python uses qml-pure. Run from the unzipped SDK, independently of the source repository.
License is inactive or frozen
Download your QML Core certificate and pass it with --license. Web Core, Chart and Grid certificates do not activate QML. Monthly use ends at expiry. Annual licenses retain only releases covered by their update period.
Qt or plugin mismatch
Check the Qt version and architecture used to build plugins. Do not mix Python Qt bindings. qml-pure removes the compiled plugin ABI dependency.
PDF or icons missing
PDF requires the optional QtQuick.Pdf module. Other Core components remain usable without it. For icon packs and resource paths, read SDK docs/ICON-PACKS.md.
Save failure or corrupt settings
Examples write only to their application-data folder. Check permissions and disk space. Invalid JSON is backed up before reset. A failed save preserves your draft.
x-fast 100 · fast 150 · medium 250 · slow 350 · x-slow 500 ms.
color
Theme.semantic.backdropBackground
The mask colour.
string
position
Bound to the edge and depth; override for a different slide.
real
extent
Bound to the edge and depth; override for a different slide.
real
—
The resolved depth · position is left or right.
bool (read-only)
—
The resolved depth · position is left or right.
bool (read-only)
—
Whether the header / footer rows are shown.
bool (read-only)
—
Whether the header / footer rows are shown.
string
"closed"
closed · opening · open · closing · the sheet is visible.
bool (read-only)
"closed"
closed · opening · open · closing · the sheet is visible.
Item (read-only)
—
The full-window sheet.
Methods
Method
Description
open = true; no effect while open.
open = false; ignores preventClose; no effect while closed.
Nudges the panel 4 px along its axis over 250 ms.
Signals
Signal
Arguments
When
—
The entrance finished; the panel is fully in.
—
The exit finished; the sheet is hidden. No argument — the cause is not reported.
—
open changed (start of a transition).
—
A click on the mask outside the panel, whatever maskClosable / preventClose.
—
Escape on the sheet, before the close / pulse decision.
—
The base signals behind opened / closed.
—
The base signals behind opened / closed.
Behavior
Item
Behavior / conditions
The drawer item is visible: false and takes no space in its parent.
Shows / hides the drawer; setOpen() / setClose() set it.
When open becomes true, a full-window sheet (a child of the window's overlay, z 100) shows the mask (mask, bound to !maskless; maskColor) and the panel, and takes keyboard focus.
No mask; the application behind stays clickable.
The mask colour.
A click on the mask outside the panel, whatever maskClosable / preventClose.
The docked edge: "top" · "left" · "right" · "bottom".
position docks the panel: left / right panels are as tall as the window and extent wide; top / bottom panels are as wide as the window and extent high. extent is 150 / 300 / 500 for sizesmall / medium / large, or customSize for custom. "slide" and "slide-fade" use the drawer's own edge and full depth (slideSide is bound to position, slideDistance to extent), so the panel glides completely in and out; "fade" only fades; the explicit names "slide-left" / "slide-right" / "slide-top" / "slide-bottom" (and the "slide-fade-…" forms) pick another side, and "fade-scale", "zoom", "pop" scale the panel.
"slide" and "slide-fade" use the drawer's own edge and full depth (slideSide is bound to position, slideDistance to extent), so the panel glides completely in and out; "fade" only fades; the explicit names "slide-left" / "slide-right" / "slide-top" / "slide-bottom" (and the "slide-fade-…" forms) pick another side, and "fade-scale", "zoom", "pop" scale the panel.
"slide" and "slide-fade" use the drawer's own edge and full depth (slideSide is bound to position, slideDistance to extent), so the panel glides completely in and out; "fade" only fades; the explicit names "slide-left" / "slide-right" / "slide-top" / "slide-bottom" (and the "slide-fade-…" forms) pick another side, and "fade-scale", "zoom", "pop" scale the panel.
x-fast 100 · fast 150 · medium 250 · slow 350 · x-slow 500 ms.
phase reports "closed" → "opening" → "open" → "closing"; opened() fires when the entrance ends, closed() when the exit ends.
The exit finished; the sheet is hidden. No argument — the cause is not reported.
The entrance finished; the panel is fully in.
The header text.
The header (44 px) shows title (16 px, medium, elided), the header items, and the × at the right; it exists only when one of them is present.
The body is padded 12 px and clipped; items declared inside should bind width: parent.width.
The footer (44 px) shows the footer items right-aligned and exists only when it has items.
Keyboard
Item
Behavior / conditions
SyModal (a centred window on the same sheet base), SyPopover (a small anchored panel), SyNav (a navigation list to put inside), SyTag / SyButton (typical header / footer items).