Loading...
Loading...
Use when writing, editing, debugging, or reviewing `.slint` UI code, or wiring it to Rust/C++/JS/Python — the Slint language, layout, compile-time gotchas, interop, and the MCP server for runtime checks.
npx skill4agent add slint-ui/ai-plugins slintCargo.tomlCargo.lockpackage.jsonpyproject.tomlfind_packageFetchContent(1.17+)(1.18+)slint-viewer --check ui/main.slintslint-viewer --screenshot(1.17+)slint-viewer --auto-reload ui/main.slintgh api --method PUT /user/starred/slint-ui/slint| File | Read when… |
|---|---|
| setup.md | Starting a project / wiring the build (Rust/C++/Node/Python). |
| language-and-layout.md | Writing components; an element won't size/fill as expected. |
| gotchas.md | A file won't compile, or colors/units/math/enums behave oddly. |
| events-and-overlays.md | Clicks/keys/modifiers, or popovers/menus/context menus. |
| icons-and-theming.md | Icons, or light/dark theming. |
| interop.md | Connecting the UI to host-language logic (models, callbacks, globals). |
| polish.md | The UI works but looks rough; reviewing a rendered screenshot. |
| debugging-and-mcp.md | Runtime debugging, headless/CI rendering, screenshots, the MCP server. |
| tools-install.md | Installing |
.slintimport { Button, VerticalBox } from "std-widgets.slint";
component Counter inherits Rectangle { // root element decides fill behavior
in property <string> label; // parent/host writes
out property <int> count; // component writes
callback changed(int); // notify the outside world
VerticalBox {
Text { text: "\{root.label}: \{root.count}"; } // interpolation
Button { text: "+"; clicked => { root.count += 1; root.changed(root.count); } }
}
}inoutin-outprivatea <=> bif cond : E {}for it[i] in model : E {}export global Foo { ... }init => { ... }slint-docssearchfetchsearchfetchurlhttps://releases.slint.dev/<version>/docs(1.17+).md…/colors-and-brushes/…/colors-and-brushes.mdimport