Upload
treby
View
888
Download
9
Embed Size (px)
DESCRIPTION
Qt @福岡 第7回勉強会(http://atnd.org/events/26204)での発表スライドです。
Citation preview
2012/4 /21まどろみはじめ
QtでHello, World!!
動機
@vivisuke氏にかねてよりQtのお誘いを受けていた
魔法の言葉「ちょっと今忙しいんで」
段々、申し訳ない気分に。
ちょっとだけなら…… ←今ここ
レベル
Visual Studioの使用経験ありC#を使った開発経験あり
C++に対するアレルギー持ち
何はともあれ、環境を入手→セットアップ
Qt Creator
ぱっと見なんか Visual Studio に似てる。親近感!
画面要素
インスペクタ
ファイル一覧(選択時)
参考: Visual Studio
画面要素ファイル一覧
インスペクタ
(簡単な) GUIプログラム作成の手順
まず、大まかなデザインを決めるインタラクティブな部分 (シグナル、スロット )も
GUIで指定
ヘッダファイル (.h)に定義を書くソースコード (.cpp)に実装を書く
Hello, Worldをやってみた(1)
PushButton をフォームに配置
PushButton の clicked()シグナルをMainWindowの適当なスロット( sayHello())に接続
フォームのヘッダファイルに sayHello() の項目(とQMessageBoxの include文)を追加
Hello, Worldをやってみた(2)
フォームの .cppファイルに実コードを書く
Ctrl + R で実行!
シグナル、スロット?
C#でいうところのイベント、イベントハンドラ(デリゲート)みたいなもの?
シグナル:発信側。イベントに相当?スロット:受信側。イベントハンドラによって実行されるコールバックメソッドに相当?
こんなことができる
Sliderと Spin Boxの値を同期。コードを1行も書かずに。
全てデザイナ上でできちゃう。
何が嬉しいのか
数値(ラベル)による表示 数値のみでは、母数に対する割合が分かりづらい すなわち、表示が直感的でない
そこでスライドバーを並べてみると 現在値の割合が直感的に分かる
プレゼンタイマー作成に挑戦してみた(1)
数値のみによるタイマーは、経過時間が直感的にわかりづらい。
ならスライドバーを一緒につければいいじゃない。
プレゼンタイマー作成に挑戦してみた(2)
DEMO
プレゼンタイマー作成に挑戦してみた(3)
プレゼンタイマー作成に挑戦してみた(4)
1000ミリ秒ごとに関数が呼び出されるようにしている。そこで値の更新を行っている。
まとめ
2日間でQtを少し触ってみた Hello, World からプレゼンタイマー作成まで
IDE、Qt Creator Visual Studioに似てる
入力補完機能はいい感じ 環境をレイアウトする自由度が低い
.uiファイル(デザイン)の要素 Uiクラスでアクセス可能