Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

The Future of Qt Widgets

3,196 views

Published on

Presented at the Bossa'10 conference in Manaus, Brazil. The presentation talks about the direction in which the Qt widgets are being developed and introduces the idea of Controls to Qt and QML.

Published in: Technology, Art & Photos
  • Dating for everyone is here: ❶❶❶ http://bit.ly/2F7hN3u ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Follow the link, new dating source: ❤❤❤ http://bit.ly/2F7hN3u ❤❤❤
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Can I download this slide ?
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Hope for it
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

The Future of Qt Widgets

  1. 1. The Future Of Qt Widgets
  2. 2. • Marius Bugge Monsen (mbm) • Qt Developer • Qt Widget Team Lead
  3. 3. Déjà vu?
  4. 4. Reading Tea-Leaves
  5. 5. The Elephant In The Room
  6. 6. • UI Extensions for Mobile • Scalable UI based on QGraphicsView
  7. 7. • Harmattan UI Framework • UI Framework build on QGraphicsView
  8. 8. • Next Generation Qt Widgets •?
  9. 9. Canvas And Paint
  10. 10. A C B D
  11. 11. A B C D
  12. 12. Window System Paint Painting Code #include<QtGui> int main(int argc, char *argv[]) { QApplication a (argc,argv); QWidget w; w.show(); return a.exec(); } Update
  13. 13. A B C D
  14. 14. Window System Window Surface Painting Code #include<QtGui> int main(int argc, char *argv[]) { QApplication a (argc,argv); QWidget w; w.show(); return a.exec(); }
  15. 15. • Window • Widgets • Procedural Painting
  16. 16. Not Fast Enough!
  17. 17. • Window • Widgets • Primitive Elements
  18. 18. • Graphical Primitive Elements • Pixmaps • Meshes • Shaders
  19. 19. • Graphical Primitive Elements • Live in Graphics Memory • Very Fast
  20. 20. • Other Elements • Input • Sound • Haptics • ...
  21. 21. • Declarative Format (QML) • Canvas / Scenegraph API • HW Acceleration (OpenGL ES2 / OpenVG)
  22. 22. Talking Nerdy
  23. 23. Widget
  24. 24. Look & Feel Data & Logic
  25. 25. 42
  26. 26. Mouse Region Grip 42 Groove Text
  27. 27. Groove Grip Text Mouse Region Look & Feel
  28. 28. Groove Grip Range Control Text Mouse Region Look & Feel Data & Logic
  29. 29. Groove minimum Mouse maximum Region Range ... Control Text value Grip position Look & Feel Data & Logic
  30. 30. Image { id: groove property alias value: control.value property int minimum: 25 property int maximum: 75 ... BorderImage { id: grip ... } RangeControl { id: control minimumValue: groove.minimum maximumValue: groove.maximum minimumPosition: 0 maximumPosition: groove.width - grip.width position: grip.x } }
  31. 31. 42
  32. 32. Text 42 Grip Dial Mouse Region
  33. 33. Dial Range Text Grip Mouse Control Region Look & Feel Data & Logic
  34. 34. Image { id: dial property alias value: control.value ... Image { id: grip ... } Text { id: text text: control.value ... } MouseRegion { id: input ... } RangeControl { id: control minimumValue: dial.minimum maximumValue: dial.maximum ... } }
  35. 35. Mature & New & Shiny Tested Look & Feel Data & Logic
  36. 36. • QDateTimeControl • QLineEditControl • ...
  37. 37. The Road Ahead
  38. 38. • Qt Declarative + Controls • QGraphicsItem + Controls • QWidget + Controls
  39. 39. • Future Widget Technology + Controls
  40. 40. • labs.trolltech.com • qt.gitorious.org/qt-labs/widgets-ng • Google Summer Of Code
  41. 41. Thank You! Questions?
  42. 42. Image credits: “The Elephant In The Room” by Nancee_art on flickr “Tea Leaves” by allaboutgeorge on flickr “Painting Detail” by katiew on flickr “Mixerboard” by Manuel_P on flickr “Talk Nerdy To Me” by Ian Farrell on flickr “Impassable” by stuckincustoms on flickr

×