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.
Hover or select an item for its QML example and copy button.
Properties
Item
Behavior / conditions
The shared field properties (name, label, required, disabled, size, message, error, touched, submitted, customError, validStatus, valid, invalid, preferredWidth, showTitle, ready) are described on the Form page; the ones below are the number field's own or have number-specific meaning.
The shared field properties (name, label, required, disabled, size, message, error, touched, submitted, customError, validStatus, valid, invalid, preferredWidth, showTitle, ready) are described on the Form page; the ones below are the number field's own or have number-specific meaning.
The shared field properties (name, label, required, disabled, size, message, error, touched, submitted, customError, validStatus, valid, invalid, preferredWidth, showTitle, ready) are described on the Form page; the ones below are the number field's own or have number-specific meaning.
The shared field properties (name, label, required, disabled, size, message, error, touched, submitted, customError, validStatus, valid, invalid, preferredWidth, showTitle, ready) are described on the Form page; the ones below are the number field's own or have number-specific meaning.
The shared field properties (name, label, required, disabled, size, message, error, touched, submitted, customError, validStatus, valid, invalid, preferredWidth, showTitle, ready) are described on the Form page; the ones below are the number field's own or have number-specific meaning.
The shared field properties (name, label, required, disabled, size, message, error, touched, submitted, customError, validStatus, valid, invalid, preferredWidth, showTitle, ready) are described on the Form page; the ones below are the number field's own or have number-specific meaning.
The shared field properties (name, label, required, disabled, size, message, error, touched, submitted, customError, validStatus, valid, invalid, preferredWidth, showTitle, ready) are described on the Form page; the ones below are the number field's own or have number-specific meaning.
The shared field properties (name, label, required, disabled, size, message, error, touched, submitted, customError, validStatus, valid, invalid, preferredWidth, showTitle, ready) are described on the Form page; the ones below are the number field's own or have number-specific meaning.
The shared field properties (name, label, required, disabled, size, message, error, touched, submitted, customError, validStatus, valid, invalid, preferredWidth, showTitle, ready) are described on the Form page; the ones below are the number field's own or have number-specific meaning.
The shared field properties (name, label, required, disabled, size, message, error, touched, submitted, customError, validStatus, valid, invalid, preferredWidth, showTitle, ready) are described on the Form page; the ones below are the number field's own or have number-specific meaning.
The shared field properties (name, label, required, disabled, size, message, error, touched, submitted, customError, validStatus, valid, invalid, preferredWidth, showTitle, ready) are described on the Form page; the ones below are the number field's own or have number-specific meaning.
The shared field properties (name, label, required, disabled, size, message, error, touched, submitted, customError, validStatus, valid, invalid, preferredWidth, showTitle, ready) are described on the Form page; the ones below are the number field's own or have number-specific meaning.
The shared field properties (name, label, required, disabled, size, message, error, touched, submitted, customError, validStatus, valid, invalid, preferredWidth, showTitle, ready) are described on the Form page; the ones below are the number field's own or have number-specific meaning.
The shared field properties (name, label, required, disabled, size, message, error, touched, submitted, customError, validStatus, valid, invalid, preferredWidth, showTitle, ready) are described on the Form page; the ones below are the number field's own or have number-specific meaning.
The shared field properties (name, label, required, disabled, size, message, error, touched, submitted, customError, validStatus, valid, invalid, preferredWidth, showTitle, ready) are described on the Form page; the ones below are the number field's own or have number-specific meaning.
The shared field properties (name, label, required, disabled, size, message, error, touched, submitted, customError, validStatus, valid, invalid, preferredWidth, showTitle, ready) are described on the Form page; the ones below are the number field's own or have number-specific meaning.
Properties
Property
Type
Default
Description
number | string
""
The number; "" while empty; the raw text while it is not a number (→ typeMismatch). Assignments emit changed.
real
-9007199254740991
Lower bound: stepping stops there, a typed value below it is rangeUnderflow, and the step grid starts here when set.
real
9007199254740991
Upper bound: stepping stops there, a typed value above it is rangeOverflow.
real
1
The amount one step adds; also the grid for stepMismatch. Decimal steps are fine.
int
-1
Digits kept after the point when formatting (blur / step); -1 = as many as step or the value need.
string
""
round (the default, also for "") · ceil · floor — how extra digits are dropped when formatting.
string
""
Shown while the field is empty.
string
""
Title above the box
string
""
helper line
string
""
custom error copy
string
""
key in the owning SyForm.
string
"medium"
small 24 · medium 32 · large 40 px high.
string
"default"
default · warning · error · success — a tone independent of validation.
bool
false
Empty field → valueMissing; adds the * mark.
bool
false
Inert, always valid, not submitted; steppers off.
bool
false
Focusable and selectable, no typing or stepping; always valid; still submitted.
bool
false
No border until the box is focused or invalid.
bool
false
Focus the box as soon as the field is created.
list of Item
—
Items before the text
list of Item
—
after it (before the stepper column).
number | null (read-only)
—
The parsed value, null while empty or not a number.
bool (read-only)
—
The field is empty (value is "").
bool (read-only)
—
Whether a step in that direction is possible right now (enabled, not read-only, not at the limit).
bool (read-only)
—
Whether a step in that direction is possible right now (enabled, not read-only, not at the limit).
bool (read-only)
—
The box has active focus
bool (read-only)
—
the pointer is over it.
read-only
—
Whether the border is visible, and the current tone.
read-only
—
Whether the border is visible, and the current tone.
Methods
Method
Description
value + n × step (n defaults to 1), clamped to max, formatted. Ignored while disabled, read-only or already at max. From an empty field it steps from 0.
value − n × step, clamped to min, formatted. Same preconditions, with min.
Empties the field: value = "", box cleared, changed with value: null. Works while read-only or disabled.
Focus / unfocus the box; the blur formats the number and sets touched.
Focus / unfocus the box; the blur formats the number and sets touched.
true when the status is ""; shows nothing.
Same verdict, and the error line shows from now on.
Force / lift the custom status (the error shows at once).
Force / lift the custom status (the error shows at once).
value changed after load — keystrokes, steps, the blur formatting, setClear(), assignments from code.
same
The box gained active focus.
same
The box lost focus, after the number was formatted and touched was set.
Behavior
Item
Behavior / conditions
The number; "" while empty; the raw text while it is not a number (→ typeMismatch). Assignments emit changed.
The parsed value, null while empty or not a number.
The field is empty (value is "").
value changed after load — keystrokes, steps, the blur formatting, setClear(), assignments from code. Not for the initial value.
value + n × step (n defaults to 1), clamped to max, formatted. Ignored while disabled, read-only or already at max. From an empty field it steps from 0.
value − n × step, clamped to min, formatted. Same preconditions, with min.
The amount one step adds; also the grid for stepMismatch. Decimal steps are fine.
Lower bound: stepping stops there, a typed value below it is rangeUnderflow, and the step grid starts here when set.
Upper bound: stepping stops there, a typed value above it is rangeOverflow.
Inert, always valid, not submitted; steppers off.
Focusable and selectable, no typing or stepping; always valid; still submitted.
The ▲ is grayed and inert once number ≥ max, the ▼ once number ≤ min, both while disabled or readonly (canStepUp / canStepDown).
The ▲ is grayed and inert once number ≥ max, the ▼ once number ≤ min, both while disabled or readonly (canStepUp / canStepDown).
Only while enabled and not read-only, in this order: custom (after setCustomError()); an empty field is valueMissing when required, else valid; text that is not a number is typeMismatch; a number below min is rangeUnderflow, above maxrangeOverflow; a number that is not min + k × step (base 0 when min is unset) is stepMismatch — decimals are compared after scaling, so step: 0.05 works.
Empty field → valueMissing; adds the * mark.
The error line (built-in copy or error) shows once the field is invalid — after a blur (touched) or reportValidity() (submitted); message is hidden meanwhile.
The error line (built-in copy or error) shows once the field is invalid — after a blur (touched) or reportValidity() (submitted); message is hidden meanwhile. disabled > readonly > invalid > status (warning · error · success) > focus > hover > enabled.
The error line (built-in copy or error) shows once the field is invalid — after a blur (touched) or reportValidity() (submitted); message is hidden meanwhile. Click or Tab focuses the box (focused); leaving it formats the number, sets touched and fires blured.
Same verdict, and the error line shows from now on.
The error line (built-in copy or error) shows once the field is invalid — after a blur (touched) or reportValidity() (submitted); message is hidden meanwhile.
The error line (built-in copy or error) shows once the field is invalid — after a blur (touched) or reportValidity() (submitted); message is hidden meanwhile.
Digits kept after the point when formatting (blur / step); -1 = as many as step or the value need.
round (the default, also for "") · ceil · floor — how extra digits are dropped when formatting.
default · warning · error · success — a tone independent of validation.
The box lost focus, after the number was formatted and touched was set.
disabled blocks focus, typing and stepping and the field is skipped by SyForm.values().
240 px wide unless width is set; the box is 24 · 32 · 40 px high by size.
small 24 · medium 32 · large 40 px high.
Inside the box, left to right: prefix items, the text, suffix items, then the 16 px stepper column (▲ over ▼, each half the height).
Inside the box, left to right: prefix items, the text, suffix items, then the 16 px stepper column (▲ over ▼, each half the height).
Colors come from Theme.inputNumber and follow Theme.scheme.
Keyboard
Item
Behavior / conditions
Keyboard: Tab and Shift+Tab enter and leave the field. Hidden and disabled fields are skipped. Escape closes an open picker before continuing. Textarea uses Tab for focus navigation, including inside a modal; it does not insert indentation.