Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
QtRuby In Action
Search
ynonperek
August 03, 2012
Technology
1
120
QtRuby In Action
My talk at August Penguin 2012.
Introducing how to use Qt with Ruby programming language
ynonperek
August 03, 2012
Tweet
Share
More Decks by ynonperek
See All by ynonperek
QtRuby for Qt Developers
ynonperek
0
190
Qt Hybrid Apps
ynonperek
1
180
Cool CPAN Modules
ynonperek
2
580
Advanced Perl Moose
ynonperek
4
2.5k
Ruby Desktop Apps with Qt
ynonperek
1
510
Perl Golf
ynonperek
4
1.6k
git
ynonperek
3
760
Concurrency In Qt Applications
ynonperek
1
230
Moose Design Patterns
ynonperek
4
400
Other Decks in Technology
See All in Technology
DMM.com アルファ室採用案内資料
hsugita
1
170
Cypress or Playwright?
rainerhahnekamp
0
130
Kernel MemoryでAzure OpenAI Serviceとお手軽データソース連携
mitsuzono
1
260
ルーターでプレゼンする
puhitaku
0
550
ChatGPT for IT Service Management (IT Pro)
dahatake
7
1.6k
Terraformあれやこれ/terraform-this-and-that
emiki
8
1.5k
GrafanaMeetup_AmazonManagedGrafanaのアクセス制御機能とマルチテナント環境下でのアクセス制御について
daitak
0
260
開発生産性大幅アップ!Postman VS Code拡張機能
nagix
2
420
Azure Container Apps + Bicep 〜 こんな感じで運用しています
kaz29
3
530
FrontDoorとWebAppsを組み合わせた際のリダイレクト処理の注意点
kenichirokimura
1
570
Google Cloud の AI を支える裏側のインフラを垣間見る!
maroon1st
0
360
IaCジェネレーターとBedrockで詳細設計書を生成してみた
tsukasa_ishimaru
3
310
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Optimizing for Happiness
mojombo
370
69k
Mobile First: as difficult as doing things right
swwweet
216
8.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
274
13k
Building Adaptive Systems
keathley
31
1.9k
The Straight Up "How To Draw Better" Workshop
denniskardys
227
130k
Fireside Chat
paigeccino
21
2.6k
jQuery: Nuts, Bolts and Bling
dougneiner
59
7.1k
Typedesign – Prime Four
hannesfritz
36
2.1k
How to Ace a Technical Interview
jacobian
272
22k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
16
2.6k
Transcript
Introducing QtRuby Ynon Perek http://qtcollege.co.il Friday, August 3, 12
Friday, August 3, 12
Friday, August 3, 12
sudo apt-get install lynx Friday, August 3, 12
Friday, August 3, 12
Agenda • GUI Programming • Qt Framework • QtRuby In
Action Friday, August 3, 12
About Me • Ynon Perek •
[email protected]
• http://qtcollege.co.il Friday,
August 3, 12
Desktop UI Friday, August 3, 12
GUI Frameworks Friday, August 3, 12
Choose Qt • Easy To Start Friday, August 3, 12
Choose Qt • Easy To Start • Mature and widely
used Friday, August 3, 12
Famous Qt Apps Friday, August 3, 12
Famous Qt Apps Friday, August 3, 12
Choose Qt • Easy To Start • Mature and widely
used • True Cross Platform Friday, August 3, 12
Choose Qt Friday, August 3, 12
Choose Qt • Easy To Start • Mature and widely
used • True Cross Platform • Cross Language Friday, August 3, 12
Choose Qt • C++ • Java • Ruby • Perl
• Python • And More... Friday, August 3, 12
Q & A Friday, August 3, 12
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.exec Friday, August 3, 12
Qt Terminology • a Widget is a visible component •
Label, Button, Table, List, ... Friday, August 3, 12
Qt Terminology Widget Friday, August 3, 12
Qt Widgets Friday, August 3, 12
Qt Widgets http://doc.qt.nokia.com/4.7-snapshot/gallery.html Friday, August 3, 12
Qt Layouts • A top level widget may contain other
widgets • Child widgets are arranged in a layout Friday, August 3, 12
DEMO: UI Designer Friday, August 3, 12
Qt Terminology • Signal specifies a semantic event Friday, August
3, 12
Qt Terminology • Signals are connected to slots which are
the handling code Friday, August 3, 12
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 it Friday, August 3, 12
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.exec Friday, August 3, 12
Qt Stock Dialogs • Qt::MessageBox.about • Qt::FileDialog.get_open_file_name • Qt::FileDialog.get_save_file_name Friday,
August 3, 12
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.exec Friday, August 3, 12
Q & A Friday, August 3, 12
QtRuby • Easy UI for your programs • Solid Foundations
Friday, August 3, 12
What Next • Qt Developers Meetup • August 7, 19:00
• http://meetup.com/QtEverywhere/ Tel-Aviv-Yafo-IL/740512/ Friday, August 3, 12
Resources • Ruby Qt/KDE Guide http://techbase.kde.org/Development/ Languages/Ruby • Qt Tutorial
Videos http://qt-project.org/videos Friday, August 3, 12
About Me • Ynon Perek •
[email protected]
• http://qtcollege.co.il Friday,
August 3, 12