Introducing QtRuby       Ynon Perek       http://qtcollege.co.ilFriday, August 3, 12
Friday, August 3, 12
Friday, August 3, 12
sudo apt-get install lynxFriday, August 3, 12
Friday, August 3, 12
Agenda                       • GUI Programming                       • Qt Framework                       • QtRuby In Acti...
About Me                       • Ynon Perek                       • ynonperek@yahoo.com                       • http://qtc...
Desktop UIFriday, August 3, 12
GUI FrameworksFriday, August 3, 12
Choose Qt                       • Easy To StartFriday, August 3, 12
Choose Qt                       • Easy To Start                       • Mature and widely usedFriday, August 3, 12
Famous Qt AppsFriday, August 3, 12
Famous Qt AppsFriday, August 3, 12
Choose Qt                       • Easy To Start                       • Mature and widely used                       • Tru...
Choose QtFriday, August 3, 12
Choose Qt                       • Easy To Start                       • Mature and widely used                       • Tru...
Choose Qt                       • C++                       • Java                       • Ruby                       • Pe...
Q&AFriday, August 3, 12
Hello Qt                 require Qt                                   app = Qt::Application.new( ARGV )                 w ...
Qt Terminology                       • a Widget is a visible                         component                       • Lab...
Qt Terminology                       WidgetFriday, August 3, 12
Qt WidgetsFriday, August 3, 12
Qt Widgets        http://doc.qt.nokia.com/4.7-snapshot/gallery.htmlFriday, August 3, 12
Qt Layouts                       • A top level widget                         may contain other                         wi...
DEMO: UI DesignerFriday, August 3, 12
Qt Terminology                       • Signal specifies a                         semantic eventFriday, August 3, 12
Qt Terminology                       • Signals are                         connected to slots                         whic...
Designer Takeaways                       • Drag & Drop to create UI                       • Save as .ui file               ...
Qt Actions  require Qt  require ./demo1_ui.rb  a = Qt::Application.new(ARGV)  u = Ui_Form.new  w = Qt::Widget.new  u.setup...
Qt Stock Dialogs                       • Qt::MessageBox.about                       • Qt::FileDialog.get_open_file_name   ...
Qt Stock Dialogs  require Qt  require ./demo1_ui.rb  a = Qt::Application.new(ARGV)  u = Ui_Form.new  w = Qt::Widget.new  u...
Q&AFriday, August 3, 12
QtRuby                       • Easy UI for your programs                       • Solid FoundationsFriday, August 3, 12
What Next                       • Qt Developers Meetup                       • August 7, 19:00                       • htt...
Resources                       • Ruby Qt/KDE Guide                         http://techbase.kde.org/Development/          ...
About Me                       • Ynon Perek                       • ynonperek@yahoo.com                       • http://qtc...
Upcoming SlideShare
Loading in...5
×

Qtruby

1,489

Published on

Writing ruby scripts and wished you had an easy way to add some user interface to your scripts ? look no further.
Qt is an awesome, stable and widely used GUI framework that works on multiple programming languages and multiple platforms.
This keynote shows how to easily add Qt GUI to your ruby scripts.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,489
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Qtruby

  1. 1. Introducing QtRuby Ynon Perek http://qtcollege.co.ilFriday, August 3, 12
  2. 2. Friday, August 3, 12
  3. 3. Friday, August 3, 12
  4. 4. sudo apt-get install lynxFriday, August 3, 12
  5. 5. Friday, August 3, 12
  6. 6. Agenda • GUI Programming • Qt Framework • QtRuby In ActionFriday, August 3, 12
  7. 7. About Me • Ynon Perek • ynonperek@yahoo.com • http://qtcollege.co.ilFriday, August 3, 12
  8. 8. Desktop UIFriday, August 3, 12
  9. 9. GUI FrameworksFriday, August 3, 12
  10. 10. Choose Qt • Easy To StartFriday, August 3, 12
  11. 11. Choose Qt • Easy To Start • Mature and widely usedFriday, August 3, 12
  12. 12. Famous Qt AppsFriday, August 3, 12
  13. 13. Famous Qt AppsFriday, August 3, 12
  14. 14. Choose Qt • Easy To Start • Mature and widely used • True Cross PlatformFriday, August 3, 12
  15. 15. Choose QtFriday, August 3, 12
  16. 16. Choose Qt • Easy To Start • Mature and widely used • True Cross Platform • Cross LanguageFriday, August 3, 12
  17. 17. Choose Qt • C++ • Java • Ruby • Perl • Python • And More...Friday, August 3, 12
  18. 18. Q&AFriday, August 3, 12
  19. 19. Hello Qt require Qt   app = Qt::Application.new( ARGV ) w   = Qt::Label.new( "Hello World" ) w.set_alignment( Qt::AlignHCenter | Qt::AlignVCenter )  w.show app.execFriday, August 3, 12
  20. 20. Qt Terminology • a Widget is a visible component • Label, Button, Table, List, ...Friday, August 3, 12
  21. 21. Qt Terminology WidgetFriday, August 3, 12
  22. 22. Qt WidgetsFriday, August 3, 12
  23. 23. Qt Widgets http://doc.qt.nokia.com/4.7-snapshot/gallery.htmlFriday, August 3, 12
  24. 24. Qt Layouts • A top level widget may contain other widgets • Child widgets are arranged in a layoutFriday, August 3, 12
  25. 25. DEMO: UI DesignerFriday, August 3, 12
  26. 26. Qt Terminology • Signal specifies a semantic eventFriday, August 3, 12
  27. 27. Qt Terminology • Signals are connected to slots which are the handling codeFriday, August 3, 12
  28. 28. Designer Takeaways • Drag & Drop to create UI • Save as .ui file • Run: rbuic4 file.ui -x -o file_ui.rb • Use resulting .rb file but don’t modify itFriday, August 3, 12
  29. 29. Qt Actions require Qt require ./demo1_ui.rb a = Qt::Application.new(ARGV) u = Ui_Form.new w = Qt::Widget.new u.setupUi(w) w.show u.btn1.connect( SIGNAL :clicked ) {   u.list1.add_item( "Qt FTW" ) } a.execFriday, August 3, 12
  30. 30. Qt Stock Dialogs • Qt::MessageBox.about • Qt::FileDialog.get_open_file_name • Qt::FileDialog.get_save_file_nameFriday, August 3, 12
  31. 31. Qt Stock Dialogs require Qt require ./demo1_ui.rb a = Qt::Application.new(ARGV) u = Ui_Form.new w = Qt::Widget.new u.setupUi(w) w.show u.btn1.connect( SIGNAL :clicked ) {   filename = Qt::FileDialog.get_open_file_name;   u.list1.add_item( filename ) } a.execFriday, August 3, 12
  32. 32. Q&AFriday, August 3, 12
  33. 33. QtRuby • Easy UI for your programs • Solid FoundationsFriday, August 3, 12
  34. 34. What Next • Qt Developers Meetup • August 7, 19:00 • http://meetup.com/QtEverywhere/ Tel-Aviv-Yafo-IL/740512/Friday, August 3, 12
  35. 35. Resources • Ruby Qt/KDE Guide http://techbase.kde.org/Development/ Languages/Ruby • Qt Tutorial Videos http://qt-project.org/videosFriday, August 3, 12
  36. 36. About Me • Ynon Perek • ynonperek@yahoo.com • http://qtcollege.co.ilFriday, August 3, 12
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×