SlideShare une entreprise Scribd logo
1  sur  75
What's unique to Qt
Junior High School at Otsuka,
University of Tsukuba
“Ubuntu Japanese Translators” team
luyikei
盧 亦愷
Self Introduction①
・ I was born in Fukushima in 1997.
・ Now I live in Tokyo.
・ When I began to use a computer at age 6,
I had a mouse in my right hand, and a
baby bottle in my left hand
Self Introduction②
・ My first computer language is HTML.
→Since I was 4th grade.
・ My second computer language is Visual Basic.
→Since I was 7th grade.
・ My third computer language is Python
→Since I was 8th grade.
・ I love Qt!
→Since I was 9th grade.
Contents
・ My first Linux
・ Why do I use Linux
・ How I develop GUI application on Linux
・ Visual C++ 2010 vs Qt4
・ Qt vs GTK+
・ What is unique to Qt4?
❶ My first Linux
・ I will talk about my Linux for the first time.
One day...
・ I was using computer with Windows.
&
SOTEC A4170AV Windows XP SP2
Ahhhhhhhhhhhhhhhhhh!
After a few days.
・ I checked my computer with Nortn Anti Virus...
Ahhhhhhhhhhhhhhhhhhhhh!
VS Virus
360X
My first solution is ...
・ Recoveried with Symantec Ghost
After few weeks...
・ Again!
My second solution is...
・ Memtest86.
Give up!
・ I rescued my data from my computer with KNOOPIX live cd.
→This time was first time to use Linux.
・ I managed to recover my computer by
Replacing its memory.
old new
Now
I brought a new computer, and I installed Kubuntu.
❷ Why do I use Linux?
・ The reason is simple.
①Ubuntu is easy to use!!!!!!!!!!!!!!!!!!!!
②I don't like Windows design.
③To study server build.
④Ubuntu is light!
⑤Software manage is easy.
⑥Linux is good at study programming
❸How I develop GUI application on
Linux
My first GUI programming.
・ My first GUI programming is Visual Basic.
→It is easy and quick. But...
Oh my God!
・ My software can't working on Linux!
on
Visual Studio 2010
(.net framework)
Linux
I hope ...
・ I want to develop software that runs
both on Windows and on Linux.
My solution is...
→Learning Qt programming.
・ Qt is a cross-platform application
framework .
・ Qt's native language is C++.
Qt works on ...①
Qt works on the following platforms:
・ Windows
・ Windows CE
・ Mac OS X
・ Symbian
・ Embedded Linux
・ X Window System
・ Wayland
Qt works on ...②
External ports:
→Since Nokia opened the Qt source code to
the community on Gitorious various ports have
been appearing. (by wikipedia)
・ OpenSolaris
・ Haiku
・ OS/2
・ iPhone
・ webOS
・ Amazon Kindle
Qt is used by ...
KDE
Ubuntu Unity 2D
Adobe Photoshop Elements
Adobe After Effects CS5
Adobe Premiere Pro CS5
Autodesk Maya 2011
VLC
Nuke
Google Earth
Skype
QCad
Rosegarden
MuseScore
Qt can fit your PC's Theme
Easy program developed by Qt①
・ I will make the program that can change
letters on the button.
Step1
・ Set the button on the form.
Step2
・ Right-click on an button, and select “Go to slot...”
Step3
・ Select “clicked()”
Step4
・ Write code “ui->puchButton->setText(“aaa”);”
Step5
Clicked
・ It's complete. Run!
Easy program developed by Qt②
・ I will make the software without writing
any code.
Step1
・ Set QDial on a form.
Step2
・ Set QSlider on the form too.
Step3
・ Connect Qdial with QSilder.
Step4
Setting up the SIGNAL and SLOT
SIGNAL: QDial - valueChanged
SLOT: Qslider - setValue
Step5
・
Done!
valueChanged
❹Visual C++ 2010 vs Qt4
・ Round1: IDE
・ Round2: Speed
・ Round3: Other
Round1 : IDE
・ Visual Studio IDE
Round1 : IDE
・ Qt Creator
Code completion
・ Qt Creator ・ Visual Studio 2010 IDE (C+
+/CLI)
It hasn't code completion.!!
Layout
・ Qt Creator ・ Visual Studio 2010 IDE (C+
+/CLI)
・ Many layout tools
・ It doesn't has good layout
tools.
Round2: Speed
・ I'll compare the speed of Visual C++ 2010 with
that of Qt4
・ Qt4 Code ・ Visual C++ 2010 Code
The resault is...
・ Qt4 ・ Visual C++ 2010
18
・ Qt4
2 SecondSecond
Wow!
Round 3 Other
・ font
Qt Creator Visual Studio IDE
Which is better?
enlargement
Qt4 Visual C++ 2010
Web Rendering engine
・ Qt4 is Webkit ・ Visual C++ 2010 is Trident
What is webkit?
・ Webkit is used by Safari , Google Chrome
≒
Actually
・ WebKit's HTML and JavaScript code
originally began as a fork of the KHTML and
KJS libraries from KDE,
・ KHTML is the HTML layout engine
developed by the KDE project.
・ It is used by Konqueror.
・ Now Webkit is developed by
Apple, KDE, Nokia, Google, etc...
How about Trident?
・ Trident is used by Internet Explorer. X-)
I have built Simple Browser
With Qt4 With Visual C++ 2010 (C++/CLI)
And Judgment Browser type by Java
Script
<SCRIPT type="text/javascript">
var userAgent = window.navigator.userAgent.toLowerCase();
var appVersion = window.navigator.appVersion.toLowerCase();
if (userAgent.indexOf("msie") > -1) {
if (appVersion.indexOf("msie 6.0") > -1) {
alert("IE6");
}
else if (appVersion.indexOf("msie 7.0") > -1) {
alert("IE7");
}
else if (appVersion.indexOf("msie 8.0") > -1) {
alert("IE8");
}
else {
alert("Unknown");
}
}
else if (userAgent.indexOf("firefox") > -1) {
alert("Firefox");
}
else if (userAgent.indexOf("opera") > -1) {
alert("Opera");
}
else if (userAgent.indexOf("chrome") > -1) {
alert("Google Chrome");
}
else if (userAgent.indexOf("safari") > -1) {
alert("Safari");
}
else {
alert("Unknown");
}
Resualt
・ Qt Browser is...
Safari
・ Visual C++ Browser is...
Internet Explorer 7
Which Is Better?
Acid2 Browser Test
Acid2 is a test page published and promoted by the Web
Standards Project to expose web page rendering flaws in web
browsers and other applications that render HTML.
Correct result
Result is...
Ahhhhhhhhhhhhhh!
Acid 3 Browser Test
Acid3 test is a web test page from the Web Standards Project
that checks a web browser's compliance with elements of various
web standards, particularly the Document Object Model (DOM)
and JavaScript.
Correct result
Result is...
Ahhhhhhhhhhhhhh!
Support languages
・ Qt4
・ Ada
・ C++
・ C# & .NET
・ D
・ Haskell
・ Harbour
・ Java
・ Lisp
・ Lua
・ Visual Studio
・ Visual Basic
・ Visual C#
・ Visual C++
・ Perl
・ PHP
・ Python
・ QML
・ R
・ Ruby
・ Scheme
・ Tcl
・ Qt4 wins landslide victory!!!
You can develop software with Qt now!
How about other GUI tool kit?
❺ Qt vs GTK+
vs
GTK+ works on ...
Official
・ X Window System
・ Windows
・ Mac OS X
Developing...
・ HTML5
・ Wayland GTK+ is lesser than Qt.
15 5:
IDE
Qt Creator AnjutaQt Creator
GTK+ doesn't have an official IDE.
And It's not easy to use than Qt
Creater.
Hello World Program
・ Qt
#include <QtGui>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QLabel label("Hello, world!");
label.show();
return app.exec();
GTK+ is ...
#include <gtk/gtk.h>
int main (int argc, char *argv[])
{
GtkWidget *window;
GtkWidget *label;
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_main_quit), NULL);
label = gtk_label_new ("Hello, World");
gtk_container_add (GTK_CONTAINER (window), label);
gtk_widget_show_all (window);
gtk_main ();
return 0;
}
Worst weakness
・ If you make a program of GTK+ except for GIMP
and Pidgin, doesn't work Japanese input method on
Windows and Mac OS X
❻ What is unique to Qt4?
Code less.
・ As I have already mentioned before, Qt is code
less.
SIGNAL and SLOT
・ The mechanism of SIGNAL and SLOT,
We don't need any code often!
Create more.
・ Qt has a good IDE that Qt Creater!
Deploy everywhere.
・ As I have already mentioned before,Qt is a cross-
platform application framework .
Thank you!
・ Thank you for listening!
I'll be happy if you like qt!

Contenu connexe

Tendances

Geb+spock: let your functional tests live long and prosper
Geb+spock: let your functional tests live long and prosperGeb+spock: let your functional tests live long and prosper
Geb+spock: let your functional tests live long and prosperEsther Lozano
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to PythonGLC Networks
 
Stop Sucking at Building Stuff!
Stop Sucking at Building Stuff!Stop Sucking at Building Stuff!
Stop Sucking at Building Stuff!Puppet
 
VN Tech Seminor Vol.2 Docker Tutorial
VN Tech Seminor Vol.2 Docker TutorialVN Tech Seminor Vol.2 Docker Tutorial
VN Tech Seminor Vol.2 Docker TutorialShuhei Yamashita
 
[NijmegenJS] Node.js - 2014/04/25
[NijmegenJS] Node.js - 2014/04/25[NijmegenJS] Node.js - 2014/04/25
[NijmegenJS] Node.js - 2014/04/25jvdheijden
 
Dsl로 만나는 groovy
Dsl로 만나는 groovyDsl로 만나는 groovy
Dsl로 만나는 groovySeeyoung Chang
 
PHP vs Node.js
PHP vs Node.jsPHP vs Node.js
PHP vs Node.jsSquareboat
 
Creating Slick User Interfaces With Qt
Creating Slick User Interfaces With QtCreating Slick User Interfaces With Qt
Creating Slick User Interfaces With QtEspen Riskedal
 
Custom angular libraries
Custom angular librariesCustom angular libraries
Custom angular librariesMattVaughn9
 
Introduction To Dart (GDG NY Jan 2014 Meetup)
Introduction To Dart (GDG NY Jan 2014 Meetup)Introduction To Dart (GDG NY Jan 2014 Meetup)
Introduction To Dart (GDG NY Jan 2014 Meetup)Nitya Narasimhan
 
Radu vunvulea building and testing windows 8 metro style applications using ...
Radu vunvulea  building and testing windows 8 metro style applications using ...Radu vunvulea  building and testing windows 8 metro style applications using ...
Radu vunvulea building and testing windows 8 metro style applications using ...Radu Vunvulea
 
Python in telecommunications (in 7 minutes)
Python in telecommunications (in 7 minutes)Python in telecommunications (in 7 minutes)
Python in telecommunications (in 7 minutes)iMasters
 
Montreal.rb ruby debugging basics - march 20th 2012
Montreal.rb   ruby debugging basics - march 20th 2012Montreal.rb   ruby debugging basics - march 20th 2012
Montreal.rb ruby debugging basics - march 20th 2012Rafael Rosa
 
Gomobile: gophers in the land of Android
Gomobile: gophers in the land of AndroidGomobile: gophers in the land of Android
Gomobile: gophers in the land of AndroidJovica Popovic
 
Python Desktop Application Development - PythonBo
Python Desktop Application Development - PythonBoPython Desktop Application Development - PythonBo
Python Desktop Application Development - PythonBoDeusdies
 

Tendances (20)

Geb+spock: let your functional tests live long and prosper
Geb+spock: let your functional tests live long and prosperGeb+spock: let your functional tests live long and prosper
Geb+spock: let your functional tests live long and prosper
 
FTC7 Michel Lefranc - Developing software based on the FSDL software library ...
FTC7 Michel Lefranc - Developing software based on the FSDL software library ...FTC7 Michel Lefranc - Developing software based on the FSDL software library ...
FTC7 Michel Lefranc - Developing software based on the FSDL software library ...
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to Python
 
Stop Sucking at Building Stuff!
Stop Sucking at Building Stuff!Stop Sucking at Building Stuff!
Stop Sucking at Building Stuff!
 
VN Tech Seminor Vol.2 Docker Tutorial
VN Tech Seminor Vol.2 Docker TutorialVN Tech Seminor Vol.2 Docker Tutorial
VN Tech Seminor Vol.2 Docker Tutorial
 
Always be testing
Always be testingAlways be testing
Always be testing
 
[NijmegenJS] Node.js - 2014/04/25
[NijmegenJS] Node.js - 2014/04/25[NijmegenJS] Node.js - 2014/04/25
[NijmegenJS] Node.js - 2014/04/25
 
Dsl로 만나는 groovy
Dsl로 만나는 groovyDsl로 만나는 groovy
Dsl로 만나는 groovy
 
PHP vs Node.js
PHP vs Node.jsPHP vs Node.js
PHP vs Node.js
 
Creating Slick User Interfaces With Qt
Creating Slick User Interfaces With QtCreating Slick User Interfaces With Qt
Creating Slick User Interfaces With Qt
 
Monorepo at Pinterest
Monorepo at PinterestMonorepo at Pinterest
Monorepo at Pinterest
 
Custom angular libraries
Custom angular librariesCustom angular libraries
Custom angular libraries
 
Opensource Software usability
Opensource Software usabilityOpensource Software usability
Opensource Software usability
 
Introduction To Dart (GDG NY Jan 2014 Meetup)
Introduction To Dart (GDG NY Jan 2014 Meetup)Introduction To Dart (GDG NY Jan 2014 Meetup)
Introduction To Dart (GDG NY Jan 2014 Meetup)
 
Radu vunvulea building and testing windows 8 metro style applications using ...
Radu vunvulea  building and testing windows 8 metro style applications using ...Radu vunvulea  building and testing windows 8 metro style applications using ...
Radu vunvulea building and testing windows 8 metro style applications using ...
 
Mono Repo
Mono RepoMono Repo
Mono Repo
 
Python in telecommunications (in 7 minutes)
Python in telecommunications (in 7 minutes)Python in telecommunications (in 7 minutes)
Python in telecommunications (in 7 minutes)
 
Montreal.rb ruby debugging basics - march 20th 2012
Montreal.rb   ruby debugging basics - march 20th 2012Montreal.rb   ruby debugging basics - march 20th 2012
Montreal.rb ruby debugging basics - march 20th 2012
 
Gomobile: gophers in the land of Android
Gomobile: gophers in the land of AndroidGomobile: gophers in the land of Android
Gomobile: gophers in the land of Android
 
Python Desktop Application Development - PythonBo
Python Desktop Application Development - PythonBoPython Desktop Application Development - PythonBo
Python Desktop Application Development - PythonBo
 

En vedette

Targeting Android with Qt
Targeting Android with QtTargeting Android with Qt
Targeting Android with QtEspen Riskedal
 
Build Cutting edge Mobile Apps using QML and JavaScript for MeeGo N9: Linux F...
Build Cutting edge Mobile Apps using QML and JavaScript for MeeGo N9: Linux F...Build Cutting edge Mobile Apps using QML and JavaScript for MeeGo N9: Linux F...
Build Cutting edge Mobile Apps using QML and JavaScript for MeeGo N9: Linux F...Raj Lal
 
Qt for beginners part 4 doing more
Qt for beginners part 4   doing moreQt for beginners part 4   doing more
Qt for beginners part 4 doing moreICS
 
Qt for Beginners Part 3 - QML and Qt Quick
Qt for Beginners Part 3 - QML and Qt QuickQt for Beginners Part 3 - QML and Qt Quick
Qt for Beginners Part 3 - QML and Qt QuickICS
 
Best Practices in Qt Quick/QML - Part III
Best Practices in Qt Quick/QML - Part IIIBest Practices in Qt Quick/QML - Part III
Best Practices in Qt Quick/QML - Part IIIICS
 
Best Practices in Qt Quick/QML - Part II
Best Practices in Qt Quick/QML - Part IIBest Practices in Qt Quick/QML - Part II
Best Practices in Qt Quick/QML - Part IIICS
 
Best Practices in Qt Quick/QML - Part I
Best Practices in Qt Quick/QML - Part IBest Practices in Qt Quick/QML - Part I
Best Practices in Qt Quick/QML - Part IICS
 
Best Practices in Qt Quick/QML - Part IV
Best Practices in Qt Quick/QML - Part IVBest Practices in Qt Quick/QML - Part IV
Best Practices in Qt Quick/QML - Part IVICS
 
Practical QML - Key Navigation, Dynamic Language and Theme Change
Practical QML - Key Navigation, Dynamic Language and Theme ChangePractical QML - Key Navigation, Dynamic Language and Theme Change
Practical QML - Key Navigation, Dynamic Language and Theme ChangeBurkhard Stubert
 

En vedette (13)

Qt Creator Bootcamp
Qt Creator BootcampQt Creator Bootcamp
Qt Creator Bootcamp
 
Qt quick (qml)
Qt quick (qml)Qt quick (qml)
Qt quick (qml)
 
Targeting Android with Qt
Targeting Android with QtTargeting Android with Qt
Targeting Android with Qt
 
Qt Qml
Qt QmlQt Qml
Qt Qml
 
Build Cutting edge Mobile Apps using QML and JavaScript for MeeGo N9: Linux F...
Build Cutting edge Mobile Apps using QML and JavaScript for MeeGo N9: Linux F...Build Cutting edge Mobile Apps using QML and JavaScript for MeeGo N9: Linux F...
Build Cutting edge Mobile Apps using QML and JavaScript for MeeGo N9: Linux F...
 
Qt for beginners part 4 doing more
Qt for beginners part 4   doing moreQt for beginners part 4   doing more
Qt for beginners part 4 doing more
 
Qt Application Development
Qt Application DevelopmentQt Application Development
Qt Application Development
 
Qt for Beginners Part 3 - QML and Qt Quick
Qt for Beginners Part 3 - QML and Qt QuickQt for Beginners Part 3 - QML and Qt Quick
Qt for Beginners Part 3 - QML and Qt Quick
 
Best Practices in Qt Quick/QML - Part III
Best Practices in Qt Quick/QML - Part IIIBest Practices in Qt Quick/QML - Part III
Best Practices in Qt Quick/QML - Part III
 
Best Practices in Qt Quick/QML - Part II
Best Practices in Qt Quick/QML - Part IIBest Practices in Qt Quick/QML - Part II
Best Practices in Qt Quick/QML - Part II
 
Best Practices in Qt Quick/QML - Part I
Best Practices in Qt Quick/QML - Part IBest Practices in Qt Quick/QML - Part I
Best Practices in Qt Quick/QML - Part I
 
Best Practices in Qt Quick/QML - Part IV
Best Practices in Qt Quick/QML - Part IVBest Practices in Qt Quick/QML - Part IV
Best Practices in Qt Quick/QML - Part IV
 
Practical QML - Key Navigation, Dynamic Language and Theme Change
Practical QML - Key Navigation, Dynamic Language and Theme ChangePractical QML - Key Navigation, Dynamic Language and Theme Change
Practical QML - Key Navigation, Dynamic Language and Theme Change
 

Similaire à What's unique to Qt

KDE For Automotive? Really? Tell me more about it
KDE For Automotive? Really? Tell me more about itKDE For Automotive? Really? Tell me more about it
KDE For Automotive? Really? Tell me more about itAgustin Benito Bethencourt
 
Necessitas - Qt on Android - from FSCONS 2011
Necessitas - Qt on Android - from FSCONS 2011Necessitas - Qt on Android - from FSCONS 2011
Necessitas - Qt on Android - from FSCONS 2011Johan Thelin
 
Success Story and Future Challenges of Applying Qt for Embedded Linux
Success Story and Future Challenges of Applying Qt for Embedded LinuxSuccess Story and Future Challenges of Applying Qt for Embedded Linux
Success Story and Future Challenges of Applying Qt for Embedded Linuxaccount inactive
 
Andreas Jakl Software Development on Nokia Deviceswith Qt
Andreas Jakl Software Development on Nokia Deviceswith QtAndreas Jakl Software Development on Nokia Deviceswith Qt
Andreas Jakl Software Development on Nokia Deviceswith QtNokiaAppForum
 
Flutter not yet another mobile cross-platform framework - i ox-kl19
Flutter   not yet another mobile cross-platform framework - i ox-kl19Flutter   not yet another mobile cross-platform framework - i ox-kl19
Flutter not yet another mobile cross-platform framework - i ox-kl19oradoe
 
Android Study Jam
Android Study Jam Android Study Jam
Android Study Jam DSCMESCOE
 
IoT Development from Software Developer Perspective
IoT Development from Software Developer PerspectiveIoT Development from Software Developer Perspective
IoT Development from Software Developer PerspectiveAndri Yadi
 
Introducing Ubuntu SDK
Introducing Ubuntu SDKIntroducing Ubuntu SDK
Introducing Ubuntu SDKShuduo Sang
 
The Ring programming language version 1.10 book - Part 6 of 212
The Ring programming language version 1.10 book - Part 6 of 212The Ring programming language version 1.10 book - Part 6 of 212
The Ring programming language version 1.10 book - Part 6 of 212Mahmoud Samir Fayed
 
Programming In Linux Presentation
Programming In Linux PresentationProgramming In Linux Presentation
Programming In Linux Presentationdanyal.khashabi
 
Network programming with Qt (C++)
Network programming with Qt (C++)Network programming with Qt (C++)
Network programming with Qt (C++)Manohar Kuse
 
Cloud Conf 2015 - Develop and Deploy IOT Applications
Cloud Conf 2015 - Develop and Deploy IOT ApplicationsCloud Conf 2015 - Develop and Deploy IOT Applications
Cloud Conf 2015 - Develop and Deploy IOT ApplicationsCorley S.r.l.
 
Green flag Wrap up Google Solution Challenge.pdf
Green flag Wrap up Google Solution Challenge.pdfGreen flag Wrap up Google Solution Challenge.pdf
Green flag Wrap up Google Solution Challenge.pdfGoogleDeveloperStude22
 
Some wonderful Linux softwares for daily use
Some wonderful Linux softwares for daily useSome wonderful Linux softwares for daily use
Some wonderful Linux softwares for daily usearun.arwachin
 
Qt Tutorial - Part 1
Qt Tutorial - Part 1Qt Tutorial - Part 1
Qt Tutorial - Part 1rmitc
 

Similaire à What's unique to Qt (20)

Treinamento Qt básico - aula I
Treinamento Qt básico - aula ITreinamento Qt básico - aula I
Treinamento Qt básico - aula I
 
KDE For Automotive? Really? Tell me more about it
KDE For Automotive? Really? Tell me more about itKDE For Automotive? Really? Tell me more about it
KDE For Automotive? Really? Tell me more about it
 
Necessitas - Qt on Android - from FSCONS 2011
Necessitas - Qt on Android - from FSCONS 2011Necessitas - Qt on Android - from FSCONS 2011
Necessitas - Qt on Android - from FSCONS 2011
 
Success Story and Future Challenges of Applying Qt for Embedded Linux
Success Story and Future Challenges of Applying Qt for Embedded LinuxSuccess Story and Future Challenges of Applying Qt for Embedded Linux
Success Story and Future Challenges of Applying Qt for Embedded Linux
 
From NodeJS to Rust
From NodeJS to RustFrom NodeJS to Rust
From NodeJS to Rust
 
Qt introduction
Qt introductionQt introduction
Qt introduction
 
Andreas Jakl Software Development on Nokia Deviceswith Qt
Andreas Jakl Software Development on Nokia Deviceswith QtAndreas Jakl Software Development on Nokia Deviceswith Qt
Andreas Jakl Software Development on Nokia Deviceswith Qt
 
Flutter not yet another mobile cross-platform framework - i ox-kl19
Flutter   not yet another mobile cross-platform framework - i ox-kl19Flutter   not yet another mobile cross-platform framework - i ox-kl19
Flutter not yet another mobile cross-platform framework - i ox-kl19
 
Android Study Jam
Android Study Jam Android Study Jam
Android Study Jam
 
IoT Development from Software Developer Perspective
IoT Development from Software Developer PerspectiveIoT Development from Software Developer Perspective
IoT Development from Software Developer Perspective
 
Qtframework
QtframeworkQtframework
Qtframework
 
Introducing Ubuntu SDK
Introducing Ubuntu SDKIntroducing Ubuntu SDK
Introducing Ubuntu SDK
 
Kivy for you
Kivy for youKivy for you
Kivy for you
 
The Ring programming language version 1.10 book - Part 6 of 212
The Ring programming language version 1.10 book - Part 6 of 212The Ring programming language version 1.10 book - Part 6 of 212
The Ring programming language version 1.10 book - Part 6 of 212
 
Programming In Linux Presentation
Programming In Linux PresentationProgramming In Linux Presentation
Programming In Linux Presentation
 
Network programming with Qt (C++)
Network programming with Qt (C++)Network programming with Qt (C++)
Network programming with Qt (C++)
 
Cloud Conf 2015 - Develop and Deploy IOT Applications
Cloud Conf 2015 - Develop and Deploy IOT ApplicationsCloud Conf 2015 - Develop and Deploy IOT Applications
Cloud Conf 2015 - Develop and Deploy IOT Applications
 
Green flag Wrap up Google Solution Challenge.pdf
Green flag Wrap up Google Solution Challenge.pdfGreen flag Wrap up Google Solution Challenge.pdf
Green flag Wrap up Google Solution Challenge.pdf
 
Some wonderful Linux softwares for daily use
Some wonderful Linux softwares for daily useSome wonderful Linux softwares for daily use
Some wonderful Linux softwares for daily use
 
Qt Tutorial - Part 1
Qt Tutorial - Part 1Qt Tutorial - Part 1
Qt Tutorial - Part 1
 

Plus de Yikei Lu

サンドボックス化によるセキュアなプログラミング
サンドボックス化によるセキュアなプログラミングサンドボックス化によるセキュアなプログラミング
サンドボックス化によるセキュアなプログラミングYikei Lu
 
Django 1.5 における効果的な MTV 設計 & ネイティブApp
Django 1.5 における効果的な MTV 設計 & ネイティブAppDjango 1.5 における効果的な MTV 設計 & ネイティブApp
Django 1.5 における効果的な MTV 設計 & ネイティブAppYikei Lu
 
Qt Widget 入門① -様々なHello World編-
Qt Widget 入門① -様々なHello World編-Qt Widget 入門① -様々なHello World編-
Qt Widget 入門① -様々なHello World編-Yikei Lu
 
Qt でIRCクライアント作ってみた
Qt でIRCクライアント作ってみたQt でIRCクライアント作ってみた
Qt でIRCクライアント作ってみたYikei Lu
 
Qt のコミュニティと日本語での情報発信②
Qt のコミュニティと日本語での情報発信②Qt のコミュニティと日本語での情報発信②
Qt のコミュニティと日本語での情報発信②Yikei Lu
 
統一Qtコミュニティー
統一Qtコミュニティー統一Qtコミュニティー
統一QtコミュニティーYikei Lu
 

Plus de Yikei Lu (6)

サンドボックス化によるセキュアなプログラミング
サンドボックス化によるセキュアなプログラミングサンドボックス化によるセキュアなプログラミング
サンドボックス化によるセキュアなプログラミング
 
Django 1.5 における効果的な MTV 設計 & ネイティブApp
Django 1.5 における効果的な MTV 設計 & ネイティブAppDjango 1.5 における効果的な MTV 設計 & ネイティブApp
Django 1.5 における効果的な MTV 設計 & ネイティブApp
 
Qt Widget 入門① -様々なHello World編-
Qt Widget 入門① -様々なHello World編-Qt Widget 入門① -様々なHello World編-
Qt Widget 入門① -様々なHello World編-
 
Qt でIRCクライアント作ってみた
Qt でIRCクライアント作ってみたQt でIRCクライアント作ってみた
Qt でIRCクライアント作ってみた
 
Qt のコミュニティと日本語での情報発信②
Qt のコミュニティと日本語での情報発信②Qt のコミュニティと日本語での情報発信②
Qt のコミュニティと日本語での情報発信②
 
統一Qtコミュニティー
統一Qtコミュニティー統一Qtコミュニティー
統一Qtコミュニティー
 

Dernier

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 

Dernier (20)

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 

What's unique to Qt

  • 1. What's unique to Qt Junior High School at Otsuka, University of Tsukuba “Ubuntu Japanese Translators” team luyikei 盧 亦愷
  • 2. Self Introduction① ・ I was born in Fukushima in 1997. ・ Now I live in Tokyo. ・ When I began to use a computer at age 6, I had a mouse in my right hand, and a baby bottle in my left hand
  • 3. Self Introduction② ・ My first computer language is HTML. →Since I was 4th grade. ・ My second computer language is Visual Basic. →Since I was 7th grade. ・ My third computer language is Python →Since I was 8th grade. ・ I love Qt! →Since I was 9th grade.
  • 4. Contents ・ My first Linux ・ Why do I use Linux ・ How I develop GUI application on Linux ・ Visual C++ 2010 vs Qt4 ・ Qt vs GTK+ ・ What is unique to Qt4?
  • 5. ❶ My first Linux ・ I will talk about my Linux for the first time.
  • 6. One day... ・ I was using computer with Windows. & SOTEC A4170AV Windows XP SP2
  • 8. After a few days. ・ I checked my computer with Nortn Anti Virus...
  • 10. My first solution is ... ・ Recoveried with Symantec Ghost
  • 12. My second solution is... ・ Memtest86.
  • 13. Give up! ・ I rescued my data from my computer with KNOOPIX live cd. →This time was first time to use Linux. ・ I managed to recover my computer by Replacing its memory. old new
  • 14. Now I brought a new computer, and I installed Kubuntu.
  • 15. ❷ Why do I use Linux? ・ The reason is simple. ①Ubuntu is easy to use!!!!!!!!!!!!!!!!!!!! ②I don't like Windows design. ③To study server build. ④Ubuntu is light! ⑤Software manage is easy. ⑥Linux is good at study programming
  • 16. ❸How I develop GUI application on Linux
  • 17. My first GUI programming. ・ My first GUI programming is Visual Basic. →It is easy and quick. But...
  • 18. Oh my God! ・ My software can't working on Linux! on Visual Studio 2010 (.net framework) Linux
  • 19. I hope ... ・ I want to develop software that runs both on Windows and on Linux.
  • 20. My solution is... →Learning Qt programming. ・ Qt is a cross-platform application framework . ・ Qt's native language is C++.
  • 21. Qt works on ...① Qt works on the following platforms: ・ Windows ・ Windows CE ・ Mac OS X ・ Symbian ・ Embedded Linux ・ X Window System ・ Wayland
  • 22. Qt works on ...② External ports: →Since Nokia opened the Qt source code to the community on Gitorious various ports have been appearing. (by wikipedia) ・ OpenSolaris ・ Haiku ・ OS/2 ・ iPhone ・ webOS ・ Amazon Kindle
  • 23. Qt is used by ... KDE Ubuntu Unity 2D Adobe Photoshop Elements Adobe After Effects CS5 Adobe Premiere Pro CS5 Autodesk Maya 2011 VLC Nuke Google Earth Skype QCad Rosegarden MuseScore
  • 24. Qt can fit your PC's Theme
  • 25. Easy program developed by Qt① ・ I will make the program that can change letters on the button.
  • 26. Step1 ・ Set the button on the form.
  • 27. Step2 ・ Right-click on an button, and select “Go to slot...”
  • 29. Step4 ・ Write code “ui->puchButton->setText(“aaa”);”
  • 31. Easy program developed by Qt② ・ I will make the software without writing any code.
  • 32. Step1 ・ Set QDial on a form.
  • 33. Step2 ・ Set QSlider on the form too.
  • 34. Step3 ・ Connect Qdial with QSilder.
  • 35. Step4 Setting up the SIGNAL and SLOT SIGNAL: QDial - valueChanged SLOT: Qslider - setValue
  • 37. ❹Visual C++ 2010 vs Qt4 ・ Round1: IDE ・ Round2: Speed ・ Round3: Other
  • 38. Round1 : IDE ・ Visual Studio IDE
  • 39. Round1 : IDE ・ Qt Creator
  • 40. Code completion ・ Qt Creator ・ Visual Studio 2010 IDE (C+ +/CLI) It hasn't code completion.!!
  • 41. Layout ・ Qt Creator ・ Visual Studio 2010 IDE (C+ +/CLI) ・ Many layout tools ・ It doesn't has good layout tools.
  • 42. Round2: Speed ・ I'll compare the speed of Visual C++ 2010 with that of Qt4 ・ Qt4 Code ・ Visual C++ 2010 Code
  • 43. The resault is... ・ Qt4 ・ Visual C++ 2010 18 ・ Qt4 2 SecondSecond Wow!
  • 44. Round 3 Other ・ font Qt Creator Visual Studio IDE Which is better?
  • 46. Web Rendering engine ・ Qt4 is Webkit ・ Visual C++ 2010 is Trident
  • 47. What is webkit? ・ Webkit is used by Safari , Google Chrome ≒
  • 48. Actually ・ WebKit's HTML and JavaScript code originally began as a fork of the KHTML and KJS libraries from KDE, ・ KHTML is the HTML layout engine developed by the KDE project. ・ It is used by Konqueror. ・ Now Webkit is developed by Apple, KDE, Nokia, Google, etc...
  • 49. How about Trident? ・ Trident is used by Internet Explorer. X-)
  • 50. I have built Simple Browser With Qt4 With Visual C++ 2010 (C++/CLI)
  • 51. And Judgment Browser type by Java Script <SCRIPT type="text/javascript"> var userAgent = window.navigator.userAgent.toLowerCase(); var appVersion = window.navigator.appVersion.toLowerCase(); if (userAgent.indexOf("msie") > -1) { if (appVersion.indexOf("msie 6.0") > -1) { alert("IE6"); } else if (appVersion.indexOf("msie 7.0") > -1) { alert("IE7"); } else if (appVersion.indexOf("msie 8.0") > -1) { alert("IE8"); } else { alert("Unknown"); } } else if (userAgent.indexOf("firefox") > -1) { alert("Firefox"); } else if (userAgent.indexOf("opera") > -1) { alert("Opera"); } else if (userAgent.indexOf("chrome") > -1) { alert("Google Chrome"); } else if (userAgent.indexOf("safari") > -1) { alert("Safari"); } else { alert("Unknown"); }
  • 52. Resualt ・ Qt Browser is... Safari ・ Visual C++ Browser is... Internet Explorer 7
  • 54. Acid2 Browser Test Acid2 is a test page published and promoted by the Web Standards Project to expose web page rendering flaws in web browsers and other applications that render HTML. Correct result
  • 57. Acid 3 Browser Test Acid3 test is a web test page from the Web Standards Project that checks a web browser's compliance with elements of various web standards, particularly the Document Object Model (DOM) and JavaScript. Correct result
  • 60. Support languages ・ Qt4 ・ Ada ・ C++ ・ C# & .NET ・ D ・ Haskell ・ Harbour ・ Java ・ Lisp ・ Lua ・ Visual Studio ・ Visual Basic ・ Visual C# ・ Visual C++ ・ Perl ・ PHP ・ Python ・ QML ・ R ・ Ruby ・ Scheme ・ Tcl ・ Qt4 wins landslide victory!!!
  • 61. You can develop software with Qt now!
  • 62. How about other GUI tool kit?
  • 63. ❺ Qt vs GTK+ vs
  • 64. GTK+ works on ... Official ・ X Window System ・ Windows ・ Mac OS X Developing... ・ HTML5 ・ Wayland GTK+ is lesser than Qt. 15 5:
  • 66. GTK+ doesn't have an official IDE. And It's not easy to use than Qt Creater.
  • 67. Hello World Program ・ Qt #include <QtGui> int main(int argc, char *argv[]) { QApplication app(argc, argv); QLabel label("Hello, world!"); label.show(); return app.exec();
  • 68. GTK+ is ... #include <gtk/gtk.h> int main (int argc, char *argv[]) { GtkWidget *window; GtkWidget *label; gtk_init (&argc, &argv); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL); label = gtk_label_new ("Hello, World"); gtk_container_add (GTK_CONTAINER (window), label); gtk_widget_show_all (window); gtk_main (); return 0; }
  • 69. Worst weakness ・ If you make a program of GTK+ except for GIMP and Pidgin, doesn't work Japanese input method on Windows and Mac OS X
  • 70. ❻ What is unique to Qt4?
  • 71. Code less. ・ As I have already mentioned before, Qt is code less.
  • 72. SIGNAL and SLOT ・ The mechanism of SIGNAL and SLOT, We don't need any code often!
  • 73. Create more. ・ Qt has a good IDE that Qt Creater!
  • 74. Deploy everywhere. ・ As I have already mentioned before,Qt is a cross- platform application framework .
  • 75. Thank you! ・ Thank you for listening! I'll be happy if you like qt!