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
150
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
280
Qt Hybrid Apps
ynonperek
1
240
Cool CPAN Modules
ynonperek
2
610
Advanced Perl Moose
ynonperek
4
2.6k
Ruby Desktop Apps with Qt
ynonperek
1
570
Perl Golf
ynonperek
4
2k
git
ynonperek
3
790
Concurrency In Qt Applications
ynonperek
1
270
Moose Design Patterns
ynonperek
4
520
Other Decks in Technology
See All in Technology
Spring Bootで実装とインフラをこれでもかと分離するための試み
shintanimoto
7
850
Cross Data Platforms Meetup LT 20250422
tarotaro0129
1
690
Making a MIDI controller device with PicoRuby/R2P2 (RubyKaigi 2025 LT)
risgk
1
260
CodePipelineのアクション統合から学ぶAWS CDKの抽象化技術 / codepipeline-actions-cdk-abstraction
gotok365
5
210
エンジニアリングで組織のアウトカムを最速で最大化する!
ham0215
1
100
白金鉱業Meetup_Vol.18_AIエージェント時代のUI/UX設計
brainpadpr
1
150
4/16/25 - SFJug - Java meets AI: Build LLM-Powered Apps with LangChain4j
edeandrea
PRO
2
120
AWSのマルチアカウント管理 ベストプラクティス最新版 2025 / Multi-Account management on AWS best practice 2025
ohmura
4
310
JPOUG Tech Talk #12 UNDO Tablespace Reintroduction
nori_shinoda
2
150
2025-04-24 "Manga AI Understanding & Localization" Furukawa Arata (CyberAgent, Inc)
ornew
1
200
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
120
Terraform Cloudで始めるおひとりさまOrganizationsのすゝめ
handy
2
180
Featured
See All Featured
Writing Fast Ruby
sferik
628
61k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.4k
What's in a price? How to price your products and services
michaelherold
245
12k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
Embracing the Ebb and Flow
colly
85
4.6k
Java REST API Framework Comparison - PWX 2021
mraible
30
8.5k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Bash Introduction
62gerente
611
210k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Raft: Consensus for Rubyists
vanstee
137
6.9k
A better future with KSS
kneath
239
17k
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