QtCS25 - UnifiedStyling: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Session Summary==
==Session Summary==


''Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.''
* Code: git@git.qt.io:playground/unifiedstyling.git
 
* Demo current state
** still research, but up for discussion and looking for guinea pigs
** might be valuable to look into CSS again - we are solving those problems now in QML, but lots of people know CSS
 
==Session Owners==
==Session Owners==


''Lorem Ipsum''
* Presenter: Richard
* Notes: Volker
 
==Notes==
 
// slides go here
 
* Use a QML document to describe the various aspects of a design system in a UnifiedStyle element with nodes
** singleton
** loads the style from a matching QML document
* child nodes select the type of control, following the element type hierarchy
** propagation
** e.g. `control` describes the design of all controls, `textField` then overrides attributes for text fields
** for each description, can use state-specific designs (e.g. hovered, pressed)
** consistent pattern for styling control elements (e.g. handles)
** animations between states are work in progress


''Consetetur Sadipscing''
* Theming (e.g. dark/light mode)
** override relevant control attributes depending on which color scheme is active (but can also have custom themes)
 
* tooling integration
** default colors can be defined as properties in a separate document, would nicely match e.g. Figma
** "hot reload" might be possible at least for those properties (through bindings, UI will update)
 
* Widgets
** for widgets we generate a C++ header file that describes the properties for a QStyle implementation
** header file size explodes right now, so room for optimization
** goal is to bring the basic design to both frameworks
** Widgets might be too limited for certain things, e.g. animations - probably an acceptable trade-off
** should not restrict the framework based on widget limitations
** since this is about hybrid UIs, can we use QML to parse the style also in a widget application?
 
* support for custom controls/widgets
** create UnifiedProperties element in custom control, select a pre-defined control type
** API work in progress


==Notes==
''Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.''


[[Category:QtCS2025]]
[[Category:QtCS2025]]

Latest revision as of 11:32, 13 May 2025

Session Summary

  • Code: git@git.qt.io:playground/unifiedstyling.git
  • Demo current state
    • still research, but up for discussion and looking for guinea pigs
    • might be valuable to look into CSS again - we are solving those problems now in QML, but lots of people know CSS

Session Owners

  • Presenter: Richard
  • Notes: Volker

Notes

// slides go here

  • Use a QML document to describe the various aspects of a design system in a UnifiedStyle element with nodes
    • singleton
    • loads the style from a matching QML document
  • child nodes select the type of control, following the element type hierarchy
    • propagation
    • e.g. `control` describes the design of all controls, `textField` then overrides attributes for text fields
    • for each description, can use state-specific designs (e.g. hovered, pressed)
    • consistent pattern for styling control elements (e.g. handles)
    • animations between states are work in progress
  • Theming (e.g. dark/light mode)
    • override relevant control attributes depending on which color scheme is active (but can also have custom themes)
  • tooling integration
    • default colors can be defined as properties in a separate document, would nicely match e.g. Figma
    • "hot reload" might be possible at least for those properties (through bindings, UI will update)
  • Widgets
    • for widgets we generate a C++ header file that describes the properties for a QStyle implementation
    • header file size explodes right now, so room for optimization
    • goal is to bring the basic design to both frameworks
    • Widgets might be too limited for certain things, e.g. animations - probably an acceptable trade-off
    • should not restrict the framework based on widget limitations
    • since this is about hybrid UIs, can we use QML to parse the style also in a widget application?
  • support for custom controls/widgets
    • create UnifiedProperties element in custom control, select a pre-defined control type
    • API work in progress