qt の技術概要 · 2017-10-31 · qt development framework 3 s/ 42 前⾝の trolltech 社は...

42
1 / 42 Qt の技術概要 MeeGo Seminar Spring 2010 2010/4/21 Wed. @東京コンファレンスセンター 品川

Upload: others

Post on 14-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

1 / 42

Qt の技術概要 ?MeeGo Seminar Spring 2010 2010/4/21 Wed.@東京コンファレンスセンター 品川

Page 2: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

2 / 42⾃⼰紹介鈴⽊ 佑(Suzuki Tasuku)

Nokia, Qt Development FrameworksCunsulting Services Engineer

1979年⽣まれ北海道札幌市出⾝

1998年 プログラミングを始めるPerl, Visual Basic, SQL 等

2001年 Qt を使い始めるC++, Linux

2006年 旧 Trolltech ⼊社2008年 Nokia が Trolltech を買収現在は Nokia Japan 勤務

Page 3: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

3 / 42

Qt Development Frameworks前⾝の Trolltech 社は 1994 年に設⽴2008 年 Nokia によって買収Qt の開発、サポート、販売、プロモーション活動など8 つの拠点で、約 250 ⼈が働いている2011 年に 2009 年の時点の Qt ディベロッパーの数を 10 倍にするのが⽬標!

Page 4: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

4 / 42

Web サイト

Page 5: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

5 / 42

AgendaQt とは?Qt の開発環境Qt を使ったアプリケーション開発のデモ

Page 6: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

6 / 42読み⽅

Qtキュート cuteきゅーと

Page 7: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

7 / 42

Qt とは?

Page 8: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

8 / 42

C++ のクラスライブラリネイティブアプリの開発が可能わかりやすい APIUI 開発のみならずネットワークやデータベース、マルチメディアなど様々な機能に対応クラス数は 800 以上ドキュメントが⾮常に充実クロスプラットフォームでソースコードを使⽤可能

Page 9: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

9 / 42ドキュメント

Page 10: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

10 / 42動作環境Linux/X11Microsoft WindowsMac OS Xその他の Unix 系 OS

Embedded LinuxWindows CESymbianMaemoリアルタイム OS(QNX, VxWorks)

http://qt.nokia.com/doc/4.6/supported-platforms.html

Page 11: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

11 / 42開発ツール統合開発環境 Qt CreatorクロスプラットフォームのビルドツールGUI の UI デザインツールドキュメントビューア国際化対応ツール

など

Page 12: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

12 / 42オープンソースQt の開発はとてもオープンに⾏われていますソースリポジトリ http://qt.gitorious.org/ロードマップhttp://qt.nokia.com/resources-jp/qt-roadmapバグトラッカー http://bugreports.qt.nokia.com/メーリングリスト http://qt.nokia.com/listsIRC irc://irc.freenode.org:6667/qt-labs開発者ブログ http://labs.qt.nokia.com/

Page 13: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

13 / 42

Page 14: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

14 / 42

Qt の使⽤事例

Page 15: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

15 / 42

KDE SC

Page 16: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

16 / 42

Skype / Google Earth

Page 17: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

17 / 42

Qt は様々な業種でつかわれていますhttp://qt.nokia.com/qt-in-use

Page 18: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

18 / 42

Qt の機能

Page 19: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

19 / 42

Qt のモジュール

QtSvgQtWebKitQtMultimediaQtXmlQtXmlPatternsPhononQt3Support

QtCoreQtGuiQtNetworkQtOpenGLQtScriptQtScriptToolsQtSql

Qt の各クラスはモジュール単位に分類され、モジュール毎に別々のライブラリとして提供される

QtDesigner

QtUiTools

QtHelp

QtAssistant

QtTest

QAxContainer

QAxServer

QtDBus

http://qt.nokia.com/doc/4.6/modules.html

Page 20: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

20 / 42

QtCore - ⾮GUIの基本機能⽂字、⽂字列関連

QChar, QString, QRegExp, QTextCodec, ...

ファイル関連QFile, QDir, QDataStream, ...

コンテナ(リスト系、ハッシュマップ)QList, QMap, iterators, ...

マルチスレッドQThread, QMutex, QtConcurrent, ...

その他

http://qt.nokia.com/doc/4.6/qtcore.html

Page 21: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

21 / 42

QtGui - GUIの基本機能⾊、フォント

QColor, QPalette, QGradient, QFont, QFontMetrics, ...

描画関連QPen, QBrush, QPainter, ...

GUI イベント情報QKeyEvent, QMouseEvent, QPaintEvent, QResizeEvent, ...

http://qt.nokia.com/doc/4.6/qtgui.html

Page 22: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

22 / 42

QtGui - 基本的なウィジェットQWidget

QDialogQLabelQPushButtonQCheckBoxQRadioButtonQLineEditQTextEditQProgressBarQScrollBar

etc...

http://qt.nokia.com/doc/4.6/gallery-plastique.html

Page 23: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

23 / 42

QtGui - コンテナウィジェットQWidget

QTabWidgetQGroupBoxQScrollAreaQToolBoxQMdiArea

http://qt.nokia.com/doc/4.6/qwidget.html#details

Page 24: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

24 / 42

QtGui - モデルビューhttp://qt.nokia.com/doc/4.6/model-view-programming.html

QAbstractItemView

QListViewQTreeViewQTableView

QAbstractItemModel

QAbstractListModel

QAbstractItemDelegate

Page 25: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

25 / 42

QtGui - レイアウトマネージャーhttp://qt.nokia.com/doc/4.6/layout.html

QLayoutQHBoxLayoutQVBoxLayoutQGridLayoutQFormLayoutQSpacerItem

etc...

Page 26: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

26 / 42

QtGui - スタイルhttp://qt.nokia.com/doc/4.6/qstyle.html

QWindowsStyleQPlastiqueStyle

Page 27: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

27 / 42

QtGui - スタイルシートhttp://qt.nokia.com/doc/4.6/stylesheet.html

123456789

1011121314151617181920

* {color: darkgreen;

}QPushButton, QComboBox, QLineEdit, QSpinBox {

border: 2px solid orange;border-radius: 6px;

}QPushButton {

background-color: white;padding-left: 10px;padding-right: 10px;

}

QPushButton:hover {color: red;border: 2px solid blue;

}QPushButton:pressed {

background-color: yellow;}

Page 28: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

28 / 42

QtNetwork - ネットワーク機能ソケット関連

QTcpSocket, QUdpSocket, QSslSocket, QLocalSocket, ...

サーバー関連QTcpServer, QLocalServer

Http, FtpQNetworkRequest, QNetworkReply,QNetworkAccessManager, QNetworkProxy, ...

http://qt.nokia.com/doc/4.6/qtnetwork.html

Page 29: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

29 / 42

QtSql - データベースデータベースアクセス関連

QSqlDatabase, QSqlQuery, QSqlRecord, QSqlResult, ...

データベースドライバ関連QSqlDriverPlugin, QSqlDriver, ...

標準でサポートしているデータベースMySqlOracleODBCPostgreSQLsqlite version 2 and 3 etc...

http://qt.nokia.com/doc/4.6/qtsql.html

Page 30: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

30 / 42

QtWebKit - ブラウザエンジンhttp://qt.nokia.com/doc/4.6/qtwebkit.html

Page 31: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

31 / 42

Phonon - マルチメディアビデオ、オーディオのプレイバック各プラットフォームでネイティブのバックエンドを使⽤

http://qt.nokia.com/doc/4.6/phonon-overview.html

Page 32: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

32 / 42

Qt の開発環境Qt SDK のインストールQt Creator の紹介簡単なアプリケーションの開発のデモ

Page 33: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

33 / 42

Qt SDK のインストール

Page 34: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

34 / 42

Qt SDK とは?

= +Qt Creator統合開発環境

Qt ライブラリ(デスクトップ⽤)

Qt SDK

Page 35: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

35 / 42

Qt Creator

Page 36: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

36 / 42

Qt Creator とは?クロスプラットフォームで動作する Qt 専⽤ IDE

Linux, Windows, Mac 上で動作可能Qt を使⽤するソフトウェアの開発を効率よく⾏える

Qt のソースコードを書くために最適化されたエディタUI デザイナ、ドキュメントビューアを統合ビルド、実⾏、デバッグが可能シンプルかつ強⼒なファイルのナビゲーションソースコードバージョン管理システムとの連携軽快に動作

Page 37: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

37 / 42

デモ

Page 38: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

38 / 42

Qt の学び⽅

Page 39: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

39 / 42

Document

Page 40: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

40 / 42⼊⾨ Qt 4 プログラミング著者:Jasmin Blanchette翻訳:杵渕聡, 杉⽥研治出版社:O'Reilly Japan, 2007ISBN:487311344X9784873113449

Page 41: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

41 / 42

Qt Labs Japan

Page 42: Qt の技術概要 · 2017-10-31 · Qt Development Framework 3 s/ 42 前⾝の Trolltech 社は 1994 年に設⽴ 2008 年 Nokia によって買収 Qt の開発、サポート、販売、プロモーション活動など

42 / 42

Thank you !

詳細は qt.nokia.com で!