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
180
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
330
Qt Hybrid Apps
ynonperek
1
300
Cool CPAN Modules
ynonperek
2
640
Advanced Perl Moose
ynonperek
4
2.7k
Ruby Desktop Apps with Qt
ynonperek
1
620
Perl Golf
ynonperek
4
2.2k
git
ynonperek
3
830
Concurrency In Qt Applications
ynonperek
1
370
Moose Design Patterns
ynonperek
4
610
Other Decks in Technology
See All in Technology
A Gentle Introduction to Transformers
keio_smilab
PRO
2
1k
楽しく学ぼう!ネットワーク入門
shotashiratori
3
2k
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
5
1.1k
情シスのための生成AI実践ガイド2026 / Generative AI Practical Guide for Business Technology 2026
glidenote
0
190
[JAWS DAYS 2026]私の AWS DevOps Agent 推しポイント
furuton
0
140
LINE Messengerの次世代ストレージ選定
lycorptech_jp
PRO
19
7.7k
[AEON TECH HUB #24] お客様の長期的興味の理解に向けて
alpicola
0
130
Claude Codeが爆速進化してプラグイン追従がつらいので半自動化した話 ver.2
rfdnxbro
0
490
生成AIの利用とセキュリティ /gen-ai-and-security
mizutani
1
1.6k
僕、S3 シンプルって名前だけど全然シンプルじゃありません よろしくお願いします
yama3133
1
180
2026-03-11 JAWS-UG 茨城 #12 改めてALBを便利に使う
masasuzu
2
340
Claude Code Skills 勉強会 (DevelersIO向けに調整済み) / claude code skills for devio
masahirokawahara
1
13k
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
120
Rails Girls Zürich Keynote
gr2m
96
14k
Designing for humans not robots
tammielis
254
26k
Bash Introduction
62gerente
615
210k
Abbi's Birthday
coloredviolet
2
5.3k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
150
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
450
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.5k
How to make the Groovebox
asonas
2
2k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
210
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