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.
rows sets the height of the box in lines of text: the box is rows × the line height of the current size plus the padding (with a floor of 32 px).
Qt capture · image
Default execution
QML code
import QtQuick
import Syidax.Core
Item {
implicitWidth: Math.max(360, childrenRect.width)
implicitHeight: childrenRect.height
property QtObject settings: QtObject {
id: storyArgs
property int rows: 2
}
SyTextarea { rows: storyArgs.rows; value: "The content of this area is being fetched. It stays readable until the spinner masks it."; width: 360 }
}
03 size
size sets the textarea's own text scale — it does not change the box height the way it does on the input.
counter: true shows "n/max" right-aligned under the box — the current length over the limit — and needs max to be set: with max: 0 (no limit) nothing is drawn.
Qt capture · image
Default execution
QML code
import QtQuick
import Syidax.Core
Item {
implicitWidth: Math.max(360, childrenRect.width)
implicitHeight: childrenRect.height
// Focused Gallery routes: keep only the selected API and its prerequisites.
id: featureStory
SyTextarea { id: featureTarget0; counter: true; max: 80; rows: 3; placeholder: "Tell us about yourself"; width: 360 }
}
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 textarea's own or have textarea-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 textarea's own or have textarea-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 textarea's own or have textarea-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 textarea's own or have textarea-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 textarea's own or have textarea-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 textarea's own or have textarea-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 textarea's own or have textarea-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 textarea's own or have textarea-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 textarea's own or have textarea-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 textarea's own or have textarea-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 textarea's own or have textarea-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 textarea's own or have textarea-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 textarea's own or have textarea-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 textarea's own or have textarea-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 textarea's own or have textarea-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 textarea's own or have textarea-specific meaning.
Properties
Property
Type
Default
Description
string
""
The text. Changes with every edit and with assignments.
int
4
Height of the box in lines of the current text scale.
string
"medium"
The text scale: small 14 px (20 px line) · medium 16 px (23 px line) · large 20 px (28 px line). Changes the box height through the line height.
real
rows × line + padding
The current height of the box (at least 32). Written by the grip; writable.
string
""
Shown while the value is empty.
string
""
Title above the box
string
""
helper line
string
""
custom error copy
string
""
key in the owning SyForm.
string
"default"
default · warning · error · success — a tone independent of validation.
bool
false
Empty value → valueMissing; adds the * mark.
bool
false
Inert, always valid, not submitted; hides the × and the grip.
bool
false
Selectable, scrollable and resizable but not editable; always valid; still submitted.
bool
false
Shows the × in the top-right corner while there is a value (no focus needed).
bool
false
No border until the box is focused or invalid.
bool
false
Shows "n/max" under the box; needs max > 0.
int
0
Minimum length of a non-empty value (tooShort); 0 = none.
int
0
Maximum length: typing and pasting stop there, a longer value from code is tooLong; 0 = none.
string
"none"
none · horizontal · vertical · both — which directions the corner grip allows.
bool
false
Focus the box as soon as the field is created.
int (read-only)
—
The current number of characters.
bool (read-only)
—
The box has active focus
bool (read-only)
—
the pointer is over it.
string (read-only)
—
value as a string.
real (read-only)
—
The scale values for the current size.
real (read-only)
—
The scale values for the current size.
real (read-only)
—
The scale values for the current size.
read-only
—
What is visible / allowed right now, and the current tone.
read-only
—
What is visible / allowed right now, and the current tone.
read-only
—
What is visible / allowed right now, and the current tone.
read-only
—
What is visible / allowed right now, and the current tone.
read-only
—
What is visible / allowed right now, and the current tone.
Methods
Method
Description
Focus the text box (focused fires, the ring appears).
Remove the focus (blured fires, touched is set).
true when the status is ""; shows nothing.
Same verdict, and marks the field reported so the error line shows from now on.
Status "custom" and touched — the error shows at once. No arguments.
Lifts the custom status.
"" · valueMissing · tooShort · tooLong · custom.
Back to the initial value; touched, reported and custom flags cleared. The width / height set by the grip stay.
value changed after load — every edit, the ×, assignments from code. Not for the initial value.
same
The box gained active focus.
same
The box lost focus; touched is set first.
—
After the × was clicked; value is already "". Not emitted when code empties the value.
Behavior
Item
Behavior / conditions
The text. Changes with every edit and with assignments.
value changed after load — every edit, the ×, assignments from code. Not for the initial value.
Shown while the value is empty.
The current number of characters.
Height of the box in lines of the current text scale.
The text scale: small 14 px (20 px line) · medium 16 px (23 px line) · large 20 px (28 px line). Changes the box height through the line height.
The current height of the box (at least 32). Written by the grip; writable.
none · horizontal · vertical · both — which directions the corner grip allows.
resize (horizontal · vertical · both) shows a 12 px grip in the bottom-right corner; dragging it changes the field's width (minimum 80) and / or boxHeight (minimum 32). 240 px wide unless width is set (or dragged); the title, the box, the counter and the message line follow the width.
Minimum length of a non-empty value (tooShort); 0 = none.
Maximum length: typing and pasting stop there, a longer value from code is tooLong; 0 = none.
Empty value → valueMissing; adds the * mark.
The error line shows the built-in copy or error once the field is invalid (touched or reported); message is hidden meanwhile.
The error line shows the built-in copy or error once the field is invalid (touched or reported); message is hidden meanwhile. disabled > readonly > invalid > status (warning · error · success) > focus > hover > enabled.
The error line shows the built-in copy or error once the field is invalid (touched or reported); message is hidden meanwhile.
Shows "n/max" under the box; needs max > 0.
Inert, always valid, not submitted; hides the × and the grip.
Selectable, scrollable and resizable but not editable; always valid; still submitted.
default · warning · error · success — a tone independent of validation.
Click or Tab focuses the box (focused); leaving it fires blured and sets touched.
Shows the × in the top-right corner while there is a value (no focus needed).
After the × was clicked; value is already "". Not emitted when code empties the value.
disabled blocks focus, typing, the × and the grip, and the field is skipped by SyForm.values().
Colors come from Theme.textarea (the warning · error · success tones are shared with the input) and follow Theme.scheme; the grip repaints on a scheme change.
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.