SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
Qtでグラフ
表示するよ!
Sub Head
by sazus

10/25/2014 Qt名古屋勉強会#15
Agenda

1. Qtのサードパーティ Qwtグラフ
     ライブラリについて
2. Qwt の build install
3. デモ
QtのサードパーティQwtグラフ ライブラリ

   

Qwt

Qtのライブラリを用いたC++のライブラリ。
グラフ作成library
+ QtCreatorのdesigner library
web: http://qwt.sourceforge.net/
Lisence : LGPL ver.2
QtのサードパーティQwtグラフ ライブラリ

   

Qwt

こんなことができるよ
QtのサードパーティQwtグラフ ライブラリ

   

Qwt

・曲線プロット
QtのサードパーティQwtグラフ ライブラリ

   
・散布図

Qwt
QtのサードパーティQwtグラフ ライブラリ

   

Qwt

・スペクトログラム
QtのサードパーティQwtグラフ ライブラリ

   
・棒グラフ

Qwt
QtのサードパーティQwtグラフ ライブラリ

   

Qwt

・GUIパーツ
Qwtつかい方

Codeを手に入れる
・Repository
開発版(trunk)
http://svn.code.sf.net/p/qwt/code/trunk/qwt
リリースバージョン(tags)
http://svn.code.sf.net/p/qwt/code/tags/qwt-6.1.0/qwt
2014/1/25現在のリリースVer 6.1.0
(commit logを見るとrelease 2013/5/31)
Qwtつかい方

build環境
svn checkout :
$ svn checkout http://svn.code.sf.net/p/qwt/code/tags/qwt-6.1.0/qwt/
OS:
$ lsb_release -a
Distributor ID: Ubuntu
Description: Ubuntu 12.04.4 LTS
Release: 12.04
Codename: precise
Qt:
qt-project(http://qt-project.org/downloads)の
Qt Online Installer for Linux 64-bit
Qwtつかい方

buildの前に!
QtCreatorのdesigner用のlibraryを作成するには
・ QtCreatorのプラグインをbuildした構成
 (Qtlibraryのversion)を揃えておく。
  ヘルプ ⇒ QtCreatorについて
  
 で確認する。
 異なるとQtCreatorが認識できないぞ!
Qwtつかい方

buildの前に!
Qwtつかい方

buildの前に!
Windowsの人は....
・ QtCreatorは、Visual Studioのコンパイラでbuild
  されているはずなので、
designerのプラグインを作成するには
VSでのbuildをしないといけないぞ。
Qwtつかい方

最新版を手に入れる
・Repository
開発版(trunk)
http://svn.code.sf.net/p/qwt/code/trunk/qwt
リリースバージョン(tags)
http://svn.code.sf.net/p/qwt/code/tags/qwt-6.1.0/qwt
Qwtつかい方

ビルドする前のHowTo

・プロジェクトの設定。
・プロジェクトファイルの修正。
Qwtつかい方

ビルドする前のHowTo
・プロジェクトの設定
ビルドステップを追加から
Makeを選択。
Make引数にinstallを設定
Qwtつかい方

ビルドする前のHowTo
・プロジェクトファイルの修正
 プロジェクトファイル(checkoutしたディレクトリの
.proファイルをQtCreatorで開いて
qwtconfig.pri
  を選択。
Qwtつかい方

ビルドする前のHowTo
・プロジェクトファイルの修正
サンプルもbuildしてみる
#QWT_CONFIG += QwtExamples
↓
 QWT_CONFIG += QwtExamples
その他(playground 参考になるサンプル?)
#QWT_CONFIG += QwtPlayground
↓
QWT_CONFIG += QwtPlayground
Qwtつかい方

ビルドしてからのHowTo
・installされる場所( ${QWT_ROOT} )
Linux:
/usr/local/qwt-6.1.0-svn
Windows:
C:/Qwt-6.1.0-svn
上記以外(Mac等):
QT_INSTALL_PREFIX の指定場所
QtCreator ツール⇒ビルド のビルドと実行
QtVersionタグの
デスクトップ向けQtバージョン** で確認できるぞ
Qwtつかい方

ビルドしてからのHowTo
QT_INSTALL_PREFIX 確認(linuxの例)
Qwtつかい方

ビルドしてからのHowTo
・designerのpuluginパスの設定
Linuxの場合
~/.bashrcなどに
QT_PLUGIN_PATH="${QWT_ROOT}/plugins:$QT_PLUGIN_PATH"
を追加( ※ ${QWT_ROOT}は先ほどのinstall path。)

お手軽にお試しする場合
QtCreatorのdesignerプラグインディレクトリに直接入れる。
Qwt designerライブラリのinstall場所:
${QWT_ROOT}/plugins/designe← この中にあるものを
QtCreatorのdesignerライブラリのinstall場所:
  ${QtCreator_Path}/bin/plugins/designer
←ここにいれておく。
Qwtつかい方

ビルドしてからのHowTo
・designerのpulugin確認方法
適当にQt Widgets Applicationのプロジェクトを作成
uiファイルを開く
Qwtつかい方

ビルドしてからのHowTo

ここにQwt Widgetsが
出てればOK
Qwtつかい方

ビルドしてからのHowTo
ちょ、おま でね〜じゃねーかって人は
デザイン画面の
ツール ⇒ フォームエディター ⇒
about Qt designer plugins…
を選択
Qwtつかい方

ビルドしてからのHowTo
そもそもここに出てこない
場合は pathが間違ってる
失敗したプラグインに入っ
ちゃってる場合は
buildしてるQtLibraryや
コンパイラがちがったりし
てるぞ
Qwtつかい方

実際につかい方
・プロジェクトファイルに以下を追加
 
 include ( ${QWT_ROOT} /features/qwt.prf )
 CONFIG += qwt

 ※ ${QWT_ROOT}は実際はQwtのinstall先を
絶対PATHを記載する。
デモ

デモ

艦これのレベリングで間に合わなかったので

サンプルを動かすよ
ご清聴ありがとうございました。

Mais conteúdo relacionado

Mais procurados

こわくない Git
こわくない Gitこわくない Git
こわくない GitKota Saito
 
Effective Modern C++ 勉強会 Item 22
Effective Modern C++ 勉強会 Item 22Effective Modern C++ 勉強会 Item 22
Effective Modern C++ 勉強会 Item 22Keisuke Fukuda
 
マルチコアを用いた画像処理
マルチコアを用いた画像処理マルチコアを用いた画像処理
マルチコアを用いた画像処理Norishige Fukushima
 
リーンなコードを書こう:実践的なオブジェクト指向設計
リーンなコードを書こう:実践的なオブジェクト指向設計リーンなコードを書こう:実践的なオブジェクト指向設計
リーンなコードを書こう:実践的なオブジェクト指向設計増田 亨
 
【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All Things【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All ThingsUnityTechnologiesJapan002
 
【Unite Tokyo 2019】バンダイナムコスタジオ流Unityの使い方
【Unite Tokyo 2019】バンダイナムコスタジオ流Unityの使い方【Unite Tokyo 2019】バンダイナムコスタジオ流Unityの使い方
【Unite Tokyo 2019】バンダイナムコスタジオ流Unityの使い方UnityTechnologiesJapan002
 
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンGoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンAkihiko Horiuchi
 
【Unity道場スペシャル 2017博多】TextMesh Pro を使いこなす
【Unity道場スペシャル 2017博多】TextMesh Pro を使いこなす【Unity道場スペシャル 2017博多】TextMesh Pro を使いこなす
【Unity道場スペシャル 2017博多】TextMesh Pro を使いこなすUnity Technologies Japan K.K.
 
AI搭載Bingと最新情報(生成系AI系研究会)
AI搭載Bingと最新情報(生成系AI系研究会)AI搭載Bingと最新情報(生成系AI系研究会)
AI搭載Bingと最新情報(生成系AI系研究会)Tomokazu Kizawa
 
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTipsUnityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTipsUnity Technologies Japan K.K.
 
疑似乱数
疑似乱数疑似乱数
疑似乱数m4_ms1
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean ArchitectureAtsushi Nakamura
 
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜Yusuke Naka
 
Web App Platform Strategy
Web App Platform StrategyWeb App Platform Strategy
Web App Platform Strategydynamis
 
シェーダだけで世界を創る!three.jsによるレイマーチング
シェーダだけで世界を創る!three.jsによるレイマーチングシェーダだけで世界を創る!three.jsによるレイマーチング
シェーダだけで世界を創る!three.jsによるレイマーチングSho Hosoda
 
年の瀬!リアルタイム通信ゲームサーバ勉強会
年の瀬!リアルタイム通信ゲームサーバ勉強会年の瀬!リアルタイム通信ゲームサーバ勉強会
年の瀬!リアルタイム通信ゲームサーバ勉強会monobit
 
X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~
X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~
X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~Masato Kinugawa
 

Mais procurados (20)

こわくない Git
こわくない Gitこわくない Git
こわくない Git
 
Effective Modern C++ 勉強会 Item 22
Effective Modern C++ 勉強会 Item 22Effective Modern C++ 勉強会 Item 22
Effective Modern C++ 勉強会 Item 22
 
マルチコアを用いた画像処理
マルチコアを用いた画像処理マルチコアを用いた画像処理
マルチコアを用いた画像処理
 
リーンなコードを書こう:実践的なオブジェクト指向設計
リーンなコードを書こう:実践的なオブジェクト指向設計リーンなコードを書こう:実践的なオブジェクト指向設計
リーンなコードを書こう:実践的なオブジェクト指向設計
 
【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All Things【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All Things
 
【Unite Tokyo 2019】バンダイナムコスタジオ流Unityの使い方
【Unite Tokyo 2019】バンダイナムコスタジオ流Unityの使い方【Unite Tokyo 2019】バンダイナムコスタジオ流Unityの使い方
【Unite Tokyo 2019】バンダイナムコスタジオ流Unityの使い方
 
5分でわかる Sensor SDK
5分でわかる Sensor SDK5分でわかる Sensor SDK
5分でわかる Sensor SDK
 
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンGoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
 
【Unity道場スペシャル 2017博多】TextMesh Pro を使いこなす
【Unity道場スペシャル 2017博多】TextMesh Pro を使いこなす【Unity道場スペシャル 2017博多】TextMesh Pro を使いこなす
【Unity道場スペシャル 2017博多】TextMesh Pro を使いこなす
 
AI搭載Bingと最新情報(生成系AI系研究会)
AI搭載Bingと最新情報(生成系AI系研究会)AI搭載Bingと最新情報(生成系AI系研究会)
AI搭載Bingと最新情報(生成系AI系研究会)
 
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTipsUnityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTips
 
T4 Template 入門
T4 Template 入門T4 Template 入門
T4 Template 入門
 
疑似乱数
疑似乱数疑似乱数
疑似乱数
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
 
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
 
Web App Platform Strategy
Web App Platform StrategyWeb App Platform Strategy
Web App Platform Strategy
 
シェーダだけで世界を創る!three.jsによるレイマーチング
シェーダだけで世界を創る!three.jsによるレイマーチングシェーダだけで世界を創る!three.jsによるレイマーチング
シェーダだけで世界を創る!three.jsによるレイマーチング
 
年の瀬!リアルタイム通信ゲームサーバ勉強会
年の瀬!リアルタイム通信ゲームサーバ勉強会年の瀬!リアルタイム通信ゲームサーバ勉強会
年の瀬!リアルタイム通信ゲームサーバ勉強会
 
Inside FastEnum
Inside FastEnumInside FastEnum
Inside FastEnum
 
X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~
X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~
X-XSS-Nightmare: 1; mode=attack ~XSSフィルターを利用したXSS攻撃~
 

Destaque

QtとC++でGUIプログラミング
QtとC++でGUIプログラミングQtとC++でGUIプログラミング
QtとC++でGUIプログラミングseanchas_t
 
Qt5 の新機能 2012/12/15
Qt5 の新機能 2012/12/15Qt5 の新機能 2012/12/15
Qt5 の新機能 2012/12/15Takumi Asaki
 
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミングPyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミングRansui Iso
 
Qt Widget 入門① -様々なHello World編-
Qt Widget 入門① -様々なHello World編-Qt Widget 入門① -様々なHello World編-
Qt Widget 入門① -様々なHello World編-Yikei Lu
 
AWS Black Belt Techシリーズ Elastic Load Balancing (ELB)
AWS Black Belt Techシリーズ  Elastic Load Balancing (ELB)AWS Black Belt Techシリーズ  Elastic Load Balancing (ELB)
AWS Black Belt Techシリーズ Elastic Load Balancing (ELB)Amazon Web Services Japan
 
QtでC++開発環境構築
QtでC++開発環境構築QtでC++開発環境構築
QtでC++開発環境構築You&I
 
関西Qt勉強会 ごーるでん 発表資料
関西Qt勉強会 ごーるでん 発表資料関西Qt勉強会 ごーるでん 発表資料
関西Qt勉強会 ごーるでん 発表資料Yuya Adachi
 
Qt + MSVC でビルドする時に Qt Creator のデバッガを使う方法
Qt + MSVC でビルドする時にQt Creator のデバッガを使う方法Qt + MSVC でビルドする時にQt Creator のデバッガを使う方法
Qt + MSVC でビルドする時に Qt Creator のデバッガを使う方法Shinya Takebayashi
 
Enigmaの解説
Enigmaの解説Enigmaの解説
Enigmaの解説丈 宮本
 
プロトタイプとMVPの開発上のギャップの大きさ。リンスタ関ヶ原 東軍先鋒 #devlove
プロトタイプとMVPの開発上のギャップの大きさ。リンスタ関ヶ原 東軍先鋒 #devloveプロトタイプとMVPの開発上のギャップの大きさ。リンスタ関ヶ原 東軍先鋒 #devlove
プロトタイプとMVPの開発上のギャップの大きさ。リンスタ関ヶ原 東軍先鋒 #devloveKoichiro Sumi
 
Jenkins 2.0 最新事情 〜Make Jenkins Great Again〜
Jenkins 2.0 最新事情 〜Make Jenkins Great Again〜Jenkins 2.0 最新事情 〜Make Jenkins Great Again〜
Jenkins 2.0 最新事情 〜Make Jenkins Great Again〜Jumpei Miyata
 
Touch Android Without Touching
Touch Android Without TouchingTouch Android Without Touching
Touch Android Without TouchingSeongJae Park
 
ネットワークの負荷分散を手軽に - OSC2015 Hokkaido
ネットワークの負荷分散を手軽に - OSC2015 Hokkaidoネットワークの負荷分散を手軽に - OSC2015 Hokkaido
ネットワークの負荷分散を手軽に - OSC2015 HokkaidoShinya Takebayashi
 
Qt5 の Input Method
Qt5 の Input MethodQt5 の Input Method
Qt5 の Input MethodTakumi Asaki
 
PythonによるCVアルゴリズム実装
PythonによるCVアルゴリズム実装PythonによるCVアルゴリズム実装
PythonによるCVアルゴリズム実装Hirokatsu Kataoka
 
Server::Starter meets Java
Server::Starter meets JavaServer::Starter meets Java
Server::Starter meets JavaTokuhiro Matsuno
 
ソフトシンセを作りながら学ぶPythonプログラミング
ソフトシンセを作りながら学ぶPythonプログラミングソフトシンセを作りながら学ぶPythonプログラミング
ソフトシンセを作りながら学ぶPythonプログラミングRansui Iso
 

Destaque (20)

QtとC++でGUIプログラミング
QtとC++でGUIプログラミングQtとC++でGUIプログラミング
QtとC++でGUIプログラミング
 
Qt小技(修正版)
Qt小技(修正版)Qt小技(修正版)
Qt小技(修正版)
 
Qt5 の新機能 2012/12/15
Qt5 の新機能 2012/12/15Qt5 の新機能 2012/12/15
Qt5 の新機能 2012/12/15
 
PyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミングPyQtではじめるGUIプログラミング
PyQtではじめるGUIプログラミング
 
Qt Widget 入門① -様々なHello World編-
Qt Widget 入門① -様々なHello World編-Qt Widget 入門① -様々なHello World編-
Qt Widget 入門① -様々なHello World編-
 
AWS Black Belt Techシリーズ Elastic Load Balancing (ELB)
AWS Black Belt Techシリーズ  Elastic Load Balancing (ELB)AWS Black Belt Techシリーズ  Elastic Load Balancing (ELB)
AWS Black Belt Techシリーズ Elastic Load Balancing (ELB)
 
QtでC++開発環境構築
QtでC++開発環境構築QtでC++開発環境構築
QtでC++開発環境構築
 
関西Qt勉強会 ごーるでん 発表資料
関西Qt勉強会 ごーるでん 発表資料関西Qt勉強会 ごーるでん 発表資料
関西Qt勉強会 ごーるでん 発表資料
 
Qt + MSVC でビルドする時に Qt Creator のデバッガを使う方法
Qt + MSVC でビルドする時にQt Creator のデバッガを使う方法Qt + MSVC でビルドする時にQt Creator のデバッガを使う方法
Qt + MSVC でビルドする時に Qt Creator のデバッガを使う方法
 
Enigmaの解説
Enigmaの解説Enigmaの解説
Enigmaの解説
 
プロトタイプとMVPの開発上のギャップの大きさ。リンスタ関ヶ原 東軍先鋒 #devlove
プロトタイプとMVPの開発上のギャップの大きさ。リンスタ関ヶ原 東軍先鋒 #devloveプロトタイプとMVPの開発上のギャップの大きさ。リンスタ関ヶ原 東軍先鋒 #devlove
プロトタイプとMVPの開発上のギャップの大きさ。リンスタ関ヶ原 東軍先鋒 #devlove
 
Jenkins 2.0 最新事情 〜Make Jenkins Great Again〜
Jenkins 2.0 最新事情 〜Make Jenkins Great Again〜Jenkins 2.0 最新事情 〜Make Jenkins Great Again〜
Jenkins 2.0 最新事情 〜Make Jenkins Great Again〜
 
Touch Android Without Touching
Touch Android Without TouchingTouch Android Without Touching
Touch Android Without Touching
 
qmake入門
qmake入門qmake入門
qmake入門
 
ネットワークの負荷分散を手軽に - OSC2015 Hokkaido
ネットワークの負荷分散を手軽に - OSC2015 Hokkaidoネットワークの負荷分散を手軽に - OSC2015 Hokkaido
ネットワークの負荷分散を手軽に - OSC2015 Hokkaido
 
Qt5 の Input Method
Qt5 の Input MethodQt5 の Input Method
Qt5 の Input Method
 
PythonによるCVアルゴリズム実装
PythonによるCVアルゴリズム実装PythonによるCVアルゴリズム実装
PythonによるCVアルゴリズム実装
 
Server::Starter meets Java
Server::Starter meets JavaServer::Starter meets Java
Server::Starter meets Java
 
ソフトシンセを作りながら学ぶPythonプログラミング
ソフトシンセを作りながら学ぶPythonプログラミングソフトシンセを作りながら学ぶPythonプログラミング
ソフトシンセを作りながら学ぶPythonプログラミング
 
Q planet
Q planetQ planet
Q planet
 

Make a graph at Qt(used Qwt library)