{"guid":"c25d48b8-a2b7-5b1a-a7c1-e10abf79c70c","title":"StyleKit - A common QML API for styling Controls and Widgets","subtitle":null,"slug":"kde2026-14-stylekit_a_common_qml_api_for_styling_controls_and_widgets","link":"https://c3voc.de","description":"StyleKit (formerly known under the working title \"Unified Style\") is a new QML module shipped with Qt 6.11 under the \"Qt.labs.StyleKit\" namespace.\n\nStyleKit is a declarative styling system for Qt Quick Controls _and_ Widgets, built on top of Qt Quick Templates. It lets you define a complete visual style for all your controls from a single Style document, including support for themes, state-based styling, and transitions. StyleKit handles the underlying template implementation automatically, letting you focus purely on visual aspects such as colors, dimensions, borders, and shadows.\n\nA key strength of StyleKit is its hierarchical property system: set a property once on a base type like abstractButton, and it automatically applies to all button-like controls. Override it where needed for specific controls or states. Changes to your style are instantly reflected across all controls, ensuring consistency while still allowing fine-grained customization.\n\nThis talk will introduce the module, demonstrate how it works, and outline future plans.\n\nhttps://creativecommons.org/licenses/by-sa/4.0/","original_language":"eng","persons":["Richard Moe Gustavsen"],"view_count":6,"promoted":false,"date":"2026-09-20T14:15:00.000+02:00","release_date":"2026-09-20T00:00:00.000+02:00","updated_at":"2026-09-20T22:45:09.442+02:00","tags":["14","2026","kde2026","Room 2","kde2026-eng","kde","kdeakademy","akademy2026","Day 2"],"length":2339,"duration":2339,"thumb_url":"https://static.media.ccc.de/media/events/kde/kde2026/14-c25d48b8-a2b7-5b1a-a7c1-e10abf79c70c.jpg","poster_url":"https://static.media.ccc.de/media/events/kde/kde2026/14-c25d48b8-a2b7-5b1a-a7c1-e10abf79c70c_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/kde/kde2026/14-c25d48b8-a2b7-5b1a-a7c1-e10abf79c70c.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/kde/kde2026/14-c25d48b8-a2b7-5b1a-a7c1-e10abf79c70c.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/kde2026-14-stylekit_a_common_qml_api_for_styling_controls_and_widgets","url":"https://api.media.ccc.de/public/events/c25d48b8-a2b7-5b1a-a7c1-e10abf79c70c","conference_title":"KDE Akademy 2026","conference_url":"https://api.media.ccc.de/public/conferences/kde2026","related":[],"recordings":[{"length":2339,"mime_type":"video/mp4","language":"eng","filename":"kde2026-14-eng-StyleKit_-_A_common_QML_API_for_styling_Controls_and_Widgets_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2026-09-20T19:22:24.589+02:00","label":"eng 1080p","size":275,"recording_url":"https://cdn.media.ccc.de/events/kde/kde2026/h264-hd/kde2026-14-eng-StyleKit_-_A_common_QML_API_for_styling_Controls_and_Widgets_hd.mp4","url":"https://api.media.ccc.de/public/recordings/105217","event_url":"https://api.media.ccc.de/public/events/c25d48b8-a2b7-5b1a-a7c1-e10abf79c70c","conference_url":"https://api.media.ccc.de/public/conferences/kde2026"},{"length":2339,"mime_type":"video/mp4","language":"eng","filename":"kde2026-14-eng-StyleKit_-_A_common_QML_API_for_styling_Controls_and_Widgets_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2026-09-20T19:26:24.677+02:00","label":"eng 576p","size":90,"recording_url":"https://cdn.media.ccc.de/events/kde/kde2026/h264-sd/kde2026-14-eng-StyleKit_-_A_common_QML_API_for_styling_Controls_and_Widgets_sd.mp4","url":"https://api.media.ccc.de/public/recordings/105221","event_url":"https://api.media.ccc.de/public/events/c25d48b8-a2b7-5b1a-a7c1-e10abf79c70c","conference_url":"https://api.media.ccc.de/public/conferences/kde2026"},{"length":2339,"mime_type":"audio/opus","language":"eng","filename":"kde2026-14-eng-StyleKit_-_A_common_QML_API_for_styling_Controls_and_Widgets_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2026-09-20T19:28:02.779+02:00","label":"eng","size":22,"recording_url":"https://cdn.media.ccc.de/events/kde/kde2026/opus/kde2026-14-eng-StyleKit_-_A_common_QML_API_for_styling_Controls_and_Widgets_opus.opus","url":"https://api.media.ccc.de/public/recordings/105226","event_url":"https://api.media.ccc.de/public/events/c25d48b8-a2b7-5b1a-a7c1-e10abf79c70c","conference_url":"https://api.media.ccc.de/public/conferences/kde2026"},{"length":2339,"mime_type":"audio/mpeg","language":"eng","filename":"kde2026-14-eng-StyleKit_-_A_common_QML_API_for_styling_Controls_and_Widgets_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2026-09-20T19:28:30.480+02:00","label":"eng","size":36,"recording_url":"https://cdn.media.ccc.de/events/kde/kde2026/mp3/kde2026-14-eng-StyleKit_-_A_common_QML_API_for_styling_Controls_and_Widgets_mp3.mp3","url":"https://api.media.ccc.de/public/recordings/105227","event_url":"https://api.media.ccc.de/public/events/c25d48b8-a2b7-5b1a-a7c1-e10abf79c70c","conference_url":"https://api.media.ccc.de/public/conferences/kde2026"},{"length":2339,"mime_type":"video/webm","language":"eng","filename":"kde2026-14-eng-StyleKit_-_A_common_QML_API_for_styling_Controls_and_Widgets_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2026-09-20T19:49:33.044+02:00","label":"eng 576p","size":94,"recording_url":"https://cdn.media.ccc.de/events/kde/kde2026/webm-sd/kde2026-14-eng-StyleKit_-_A_common_QML_API_for_styling_Controls_and_Widgets_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/105239","event_url":"https://api.media.ccc.de/public/events/c25d48b8-a2b7-5b1a-a7c1-e10abf79c70c","conference_url":"https://api.media.ccc.de/public/conferences/kde2026"},{"length":2339,"mime_type":"video/webm;codecs=av01","language":"eng","filename":"kde2026-14-eng-StyleKit_-_A_common_QML_API_for_styling_Controls_and_Widgets_av1-hd.webm","state":"new","folder":"av1-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2026-09-20T20:30:55.238+02:00","label":"eng 1080p","size":255,"recording_url":"https://cdn.media.ccc.de/events/kde/kde2026/av1-hd/kde2026-14-eng-StyleKit_-_A_common_QML_API_for_styling_Controls_and_Widgets_av1-hd.webm","url":"https://api.media.ccc.de/public/recordings/105269","event_url":"https://api.media.ccc.de/public/events/c25d48b8-a2b7-5b1a-a7c1-e10abf79c70c","conference_url":"https://api.media.ccc.de/public/conferences/kde2026"},{"length":2339,"mime_type":"video/webm","language":"eng","filename":"kde2026-14-eng-StyleKit_-_A_common_QML_API_for_styling_Controls_and_Widgets_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2026-09-20T20:58:56.823+02:00","label":"eng 1080p","size":301,"recording_url":"https://cdn.media.ccc.de/events/kde/kde2026/webm-hd/kde2026-14-eng-StyleKit_-_A_common_QML_API_for_styling_Controls_and_Widgets_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/105275","event_url":"https://api.media.ccc.de/public/events/c25d48b8-a2b7-5b1a-a7c1-e10abf79c70c","conference_url":"https://api.media.ccc.de/public/conferences/kde2026"}]}