qml across all ui stacks support for widgets
play

QML across all UI Stacks Support for Widgets Kevin Krammer and - PowerPoint PPT Presentation

QML across all UI Stacks Support for Widgets Kevin Krammer and Tobias Knig KDAB Agenda Motivation for DeclarativeWidgets Demo of pure QML Widget UI Porting From designer/C++ UI to QML Adding a BB10/Cascades UI Q&A


  1. QML across all UI Stacks Support for Widgets Kevin Krammer and Tobias König KDAB

  2. Agenda ● Motivation for DeclarativeWidgets ● Demo of pure QML Widget UI ● Porting – From designer/C++ UI to QML – Adding a BB10/Cascades UI ● Q&A ● Resources

  3. Motivation

  4. Situation ● Widgets – Widely used, well understood – Static UI, compiled code – Often tightly coupled with core logic ● QML – Relatively new, misunderstood as QtQuick – Runtime loadable, adjustable – Encourages separation core/UI

  5. Goal ● Widgets with QML – No user-visible change – Apply existing developer knowledge – Core independent of UI – UI replaceable ● QtWidgets -> QtWidgets (update/customize) ● QtWidgets -> QtQuick ● QtWidgets -> Cascades

  6. Declarative Widgets Demo

  7. WaterLevel

  8. Porting ● Step 1: Declarative Widgets – Create QML files for windows/dialogs – Make core API exposable ● Step 2: Mobile UI – Create QML files for target platform – Re-use core API from Step 1

  9. Step 1 Demo

  10. Step 1 Final Result

  11. Step 2 Demo

  12. Step 2 Final Result

  13. Q&A Thank you for your attention! Any Questions? ● https://github.com/KDAB/DeclarativeWidgets ● Free Software / Open Source Software ● Works with Qt4 ● Work in progress kevin.krammer@kdab.com, tobias.koenig@kdab.com

  14. QML across all UI Stacks Support for Widgets Kevin Krammer and Tobias König KDAB

  15. Agenda ● Motivation for DeclarativeWidgets ● Demo of pure QML Widget UI ● Porting – From designer/C++ UI to QML – Adding a BB10/Cascades UI ● Q&A ● Resources

  16. Motivation

  17. Situation ● Widgets – Widely used, well understood – Static UI, compiled code – Often tightly coupled with core logic ● QML – Relatively new, misunderstood as QtQuick – Runtime loadable, adjustable – Encourages separation core/UI

  18. Goal ● Widgets with QML – No user-visible change – Apply existing developer knowledge – Core independent of UI – UI replaceable ● QtWidgets -> QtWidgets (update/customize) ● QtWidgets -> QtQuick ● QtWidgets -> Cascades

  19. Declarative Widgets Demo

  20. WaterLevel

  21. Porting ● Step 1: Declarative Widgets – Create QML files for windows/dialogs – Make core API exposable ● Step 2: Mobile UI – Create QML files for target platform – Re-use core API from Step 1

  22. Step 1 Demo

  23. Step 1 Final Result

  24. Step 2 Demo

  25. Step 2 Final Result

  26. Q&A Thank you for your attention! Any Questions? ● https://github.com/KDAB/DeclarativeWidgets ● Free Software / Open Source Software ● Works with Qt4 ● Work in progress kevin.krammer@kdab.com, tobias.koenig@kdab.com

Recommend


More recommend