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.
Enter a single line of text, with a label, helper message and validation feedback.
import Syidax.Core.Input
Supported QML types
Type
Definition / role
Single-line text field with validation, helper text and optional clear control.
Learn by example
Previews are images of native Qt runs. Use the buttons below each image to view a result.
01 Basic composition
SyInput is the single-line text field: a title (label, with the required mark), the box with the text, and a line under it for a helper (message) or the validation error.
size sets the box height and the text scale: small is 24 px high with 12 px text, medium (the default) 32 px with 14 px text, large 40 px with 16 px text.
status colors the box independently of validation: default (the normal tones), warning, error and success each recolor the border, the background, the text and the icons.
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 input's own or have input-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 input's own or have input-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 input's own or have input-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 input's own or have input-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 input's own or have input-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 input's own or have input-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 input's own or have input-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 input's own or have input-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 input's own or have input-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 input's own or have input-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 input's own or have input-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 input's own or have input-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 input's own or have input-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 input's own or have input-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 input's own or have input-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 input's own or have input-specific meaning.
Properties
Property
Type
Default
Description
string
""
The text. Changes with every keystroke and with assignments; non-strings are converted.
string
""
Shown while the value is empty. A search variant with an empty placeholder shows "Search".
string
""
Title above the box, with * when required.
string
""
Helper line under the box; hidden while the error shows.
string
""
Your own error copy, used instead of the built-in message while invalid.
text · email · url · tel · number · password · search. Anything but text overrides variant for hiding, keyboard hint and format check.
Status "custom" and touched — the error (error or "Invalid by custom") shows at once. No arguments.
Empty value → valueMissing; adds the * mark.
Minimum length of a non-empty value (tooShort); -1 = none.
Maximum length: typing stops there; a longer value from code is tooLong; -1 = none.
valid follows the status; invalid is true only once the error may be shown — after a blur (touched) or reportValidity() (submitted).
valid follows the status; invalid is true only once the error may be shown — after a blur (touched) or reportValidity() (submitted). The error line shows the built-in copy or error, and the box takes the invalid tone; message is hidden meanwhile. disabled > readonly > invalid > status (warning · error · success) > focus > hover > enabled: the first that applies colors the border, background, text and icons.
valid follows the status; invalid is true only once the error may be shown — after a blur (touched) or reportValidity() (submitted). Leaving the box fires blured and sets touched.
Same verdict, and marks the field reported so the error line shows from now on.
valid follows the status; invalid is true only once the error may be shown — after a blur (touched) or reportValidity() (submitted).
Your own error copy, used instead of the built-in message while invalid.
Helper line under the box; hidden while the error shows.
Inert, always valid, not submitted.
Selectable but not editable; always valid; still submitted.
default · warning · error · success — a tone independent of validation; hidden behind the invalid tone.
disabled > readonly > invalid > status (warning · error · success) > focus > hover > enabled: the first that applies colors the border, background, text and icons.
disabled > readonly > invalid > status (warning · error · success) > focus > hover > enabled: the first that applies colors the border, background, text and icons.
No border until the box is focused or invalid.
The box gained active focus.
The box lost focus; touched is set first, so the error line may appear with it.
Shows the × while focused with a value; it empties the value and emits clear().
After the × was clicked; value is already "" and its changed has fired. Not emitted when code empties the value.
Whether a password field shows its characters; the eye icon flips it.
disabled blocks focus and typing and skips the field in SyForm.values().
The field is 240 px wide unless width is set; the box, the title and the message line follow the width.
small 24 · medium 32 · large 40 px high; text 12 · 14 · 16 px.
Items before the text, inside the box.
Items after the text, after the built-in icons.
Colors come from Theme.input and follow Theme.scheme; the icon color transitions are skipped under Theme.reducedMotion.
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.