qt の技術概要 · 2017-10-31 · qt development framework 3 s/ 42 前⾝の trolltech 社は...
TRANSCRIPT
1 / 42
Qt の技術概要 ?MeeGo Seminar Spring 2010 2010/4/21 Wed.@東京コンファレンスセンター 品川
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 勤務
3 / 42
Qt Development Frameworks前⾝の Trolltech 社は 1994 年に設⽴2008 年 Nokia によって買収Qt の開発、サポート、販売、プロモーション活動など8 つの拠点で、約 250 ⼈が働いている2011 年に 2009 年の時点の Qt ディベロッパーの数を 10 倍にするのが⽬標!
4 / 42
Web サイト
5 / 42
AgendaQt とは?Qt の開発環境Qt を使ったアプリケーション開発のデモ
6 / 42読み⽅
Qtキュート cuteきゅーと
7 / 42
Qt とは?
8 / 42
C++ のクラスライブラリネイティブアプリの開発が可能わかりやすい APIUI 開発のみならずネットワークやデータベース、マルチメディアなど様々な機能に対応クラス数は 800 以上ドキュメントが⾮常に充実クロスプラットフォームでソースコードを使⽤可能
9 / 42ドキュメント
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
11 / 42開発ツール統合開発環境 Qt CreatorクロスプラットフォームのビルドツールGUI の UI デザインツールドキュメントビューア国際化対応ツール
など
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/
13 / 42
14 / 42
Qt の使⽤事例
15 / 42
KDE SC
16 / 42
Skype / Google Earth
18 / 42
Qt の機能
19 / 42
Qt のモジュール
QtSvgQtWebKitQtMultimediaQtXmlQtXmlPatternsPhononQt3Support
QtCoreQtGuiQtNetworkQtOpenGLQtScriptQtScriptToolsQtSql
Qt の各クラスはモジュール単位に分類され、モジュール毎に別々のライブラリとして提供される
QtDesigner
QtUiTools
QtHelp
QtAssistant
QtTest
QAxContainer
QAxServer
QtDBus
http://qt.nokia.com/doc/4.6/modules.html
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
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
22 / 42
QtGui - 基本的なウィジェットQWidget
QDialogQLabelQPushButtonQCheckBoxQRadioButtonQLineEditQTextEditQProgressBarQScrollBar
etc...
http://qt.nokia.com/doc/4.6/gallery-plastique.html
23 / 42
QtGui - コンテナウィジェットQWidget
QTabWidgetQGroupBoxQScrollAreaQToolBoxQMdiArea
http://qt.nokia.com/doc/4.6/qwidget.html#details
24 / 42
QtGui - モデルビューhttp://qt.nokia.com/doc/4.6/model-view-programming.html
QAbstractItemView
QListViewQTreeViewQTableView
QAbstractItemModel
QAbstractListModel
QAbstractItemDelegate
25 / 42
QtGui - レイアウトマネージャーhttp://qt.nokia.com/doc/4.6/layout.html
QLayoutQHBoxLayoutQVBoxLayoutQGridLayoutQFormLayoutQSpacerItem
etc...
26 / 42
QtGui - スタイルhttp://qt.nokia.com/doc/4.6/qstyle.html
QWindowsStyleQPlastiqueStyle
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;}
28 / 42
QtNetwork - ネットワーク機能ソケット関連
QTcpSocket, QUdpSocket, QSslSocket, QLocalSocket, ...
サーバー関連QTcpServer, QLocalServer
Http, FtpQNetworkRequest, QNetworkReply,QNetworkAccessManager, QNetworkProxy, ...
http://qt.nokia.com/doc/4.6/qtnetwork.html
29 / 42
QtSql - データベースデータベースアクセス関連
QSqlDatabase, QSqlQuery, QSqlRecord, QSqlResult, ...
データベースドライバ関連QSqlDriverPlugin, QSqlDriver, ...
標準でサポートしているデータベースMySqlOracleODBCPostgreSQLsqlite version 2 and 3 etc...
http://qt.nokia.com/doc/4.6/qtsql.html
30 / 42
QtWebKit - ブラウザエンジンhttp://qt.nokia.com/doc/4.6/qtwebkit.html
31 / 42
Phonon - マルチメディアビデオ、オーディオのプレイバック各プラットフォームでネイティブのバックエンドを使⽤
http://qt.nokia.com/doc/4.6/phonon-overview.html
32 / 42
Qt の開発環境Qt SDK のインストールQt Creator の紹介簡単なアプリケーションの開発のデモ
33 / 42
Qt SDK のインストール
34 / 42
Qt SDK とは?
= +Qt Creator統合開発環境
Qt ライブラリ(デスクトップ⽤)
Qt SDK
35 / 42
Qt Creator
36 / 42
Qt Creator とは?クロスプラットフォームで動作する Qt 専⽤ IDE
Linux, Windows, Mac 上で動作可能Qt を使⽤するソフトウェアの開発を効率よく⾏える
Qt のソースコードを書くために最適化されたエディタUI デザイナ、ドキュメントビューアを統合ビルド、実⾏、デバッグが可能シンプルかつ強⼒なファイルのナビゲーションソースコードバージョン管理システムとの連携軽快に動作
37 / 42
デモ
38 / 42
Qt の学び⽅
39 / 42
Document
40 / 42⼊⾨ Qt 4 プログラミング著者:Jasmin Blanchette翻訳:杵渕聡, 杉⽥研治出版社:O'Reilly Japan, 2007ISBN:487311344X9784873113449
41 / 42
Qt Labs Japan