Qtruby

2,128 views

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
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,128
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
11
Comments
0
Likes
1
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

×