Qt 4.7 Release Candidate

投稿者: 朝木卓見 投稿日: 2010年8月27日

Nokia は2010年8月26日、Qt の新バージョンとなる 4.7 のリリース候補版をリリースしました。このリリース候補版は、Qt 4.7 のリリース前に Qt Quick を試すことのできる最後のリリースとなります。Qt Quick とは、開発者とデザイナーとが協調してアニメーションやタッチ対応のUIを作るための新しいハイレベル UI テクノロジーです。

Qt 4.7 リリース候補版は Qt 4.7 RC & Qt Creator 2.1 スナップショット のページからダウンロードしてください。

Qt Creator と Qt Quick

Qt Creator のリリーススケジュールの変更に伴って、Qt Quick のフルフレームワークは二つの段階を踏んで導入されることとなります。Qt 4.7.0 で Qt Quick のフレームワークコンポーネントとして言語である QML と Qt Declarative モジュールをリリースします。Qt Quick をサポートするツールとしては Qt Creator 2.1 を 2010 年の第4四半期にリリースする予定です。

Qt 4.7

Qt Quick フレームワークの追加以外に、Qt 4.7 ではパフォーマンスおよびクオリティの改善に注力しました。また、Qt WebKit インテグレーションのアップデートを行っています。Qt 4.7 の詳細やダウンロードは Qt 4.7 RC & Qt Creator 2.1 スナップショット のページから行ってください。

{ コメント/トラックバック 0 }

Qt Quick 入門 第3回: Hello QML!

投稿者: 朝木卓見 投稿日: 2010年8月26日

はじめに

前回から間が空いてしまいましたが、「Qt Quick 入門」の第3回をお送りします。この間に Qt Creator のリリーススケジュールに変更があり、Qt Creator 2.0.1 がリリースされました。2.0.1 では 2.0.0 で無効にされていた Qt Quick 関連機能が有効にされていますので、今回はバイナリスナップショットではなく、2.0.1 を利用します。第2回でインストールしていただいたスナップショットでは、今回の内容を正常に実行できないバグがありますので、必ず 2.0.1 を使用するようにしてください。Qt Creator 2.0.1 は Downloads ページからダウンロードできます。

これまでの「Qt Quick 入門」では Qt Quick がどのようなものかを説明してきました。今回から、Qt Quick アプリケーションの作成を行います。

最初はおなじみの「Hello World」が QML ではどのようになるかを見ていきましょう。

Qt Creator で QML プロジェクトを作成する

まずは QML プロジェクトを作成しましょう。「ファイル(F)」メニューの「ファイル/プロジェクトの新規作成(N)…」を選びます。Ctrl + N(Mac OS X の場合は Command + N) でもかまいません。「新規作成」ダイアログが表示されますので、「Qt Quick プロジェクト」の中から「Qt QML アプリケーション」を選択して「選択(C)…」をクリックします。

新規作成 - QML アプリケーション

新規作成 - QML アプリケーション

「Qt QML アプリケーション」は C++ を含まない、QML (及び JavaScript)で構成されたアプリケーションのことです。C++ は使用しないため、Qt そのものの開発環境やコンパイラ等は必要ありません。Qt Creator のみで開発を行うことが出来ます。

続きを読む…

{ コメント/トラックバック 0 }

Qt Creator 2.0.1

投稿者: 朝木卓見 投稿日: 2010年8月26日

Nokia は 2010年8月25日、Qt Creator 2.0.1 をリリースしました(リリースアナウンス)。download ページからダウンロードしてください。

Qt Creator 2.0.1 は 2.0.0 へのフィードバックを元に 450 以上のパッチを当てたバグフィックス版となります。エディタとデバッガを主に改善を行い、2.0.0 には含まれていなかった日本語のメッセージがリリースパッケージに戻ってきました。メッセージの翻訳のご協力に感謝いたします。

Qt Creator 2.0.0 では無効にしていた Qt Quick のサポートですが、依然として実験的なサポートではあるものの、その要求が多かったため 2.0.1 では有効になりました。なお、Qt Quick デザイナの利用にはプラグインを有効にする必要があります。

2.0.1 での変更点の詳細は change log を参照してください。また、不具合などがありましたら bugtracker から報告してください。メッセージの誤訳など翻訳関連の不具合は「Qt Creator 日本語化プロジェクト」へ報告してください。

{ コメント/トラックバック 0 }

Qt をはじめよう! 第13回: GUI デザイナを使おう

投稿者: 鈴木 佑 投稿日: 2010年8月19日

前回は独自のシグナルとスロットを作成し使用してみました。

これまでのサンプルではアプリケーションのユーザーインターフェースのデザインを C++ のコードで作成してきました。

今回はユーザーインターフェースを GUI のツールを用いてデザインする方法について解説します。

第5回: Qt Creator を使ってみよう!」、「第6回: 簡単なブラウザを作ってみよう!」 で既に使用したとおり、Qt では UI を GUI のツールでデザインすることが可能です。「第8回: QWidget の親子関係を学ぼう」、「第9回: レイアウト管理を学ぼう」 では、ソースコードでウィジェットの生成やレイアウトの管理をしましたが、これは GUI ツールを使用して UI のデザインをする際の背景となる仕組みを理解するためでした。

今回は前回まで使用したサンプルではなく、新しくプロジェクトを作成します。

続きを読む…

{ コメント/トラックバック 1 }

Qt Mobility 1.1.0 テクノロジープレビュー

投稿者: 朝木卓見 投稿日: 2010年7月28日

Qt Mobility の次期バージョンとなる 1.1.0 のテクノロジープレビュー版をリリースいたしました。

テクノロジープレビューでは年末のリリースを予定している 1.1.0 の新機能およびその API に対して、レビューやフィードバックを行うことを目的としています。

コントリビューション

Qt Mobility では Symbian や Maemo (今年後半からは MeeGo がデフォルトプラットフォームとなります)といったモバイルプラットフォームでの開発を優先しているため、デスクトッププラットフォーム向けのバックエンドの実装のコントリビューションを歓迎しています。

続きを読む…

{ コメント/トラックバック 1 }

Qt Mobility 1.0.2

投稿者: 朝木卓見 投稿日: 2010年7月28日

Qt Mobility の 1.0.2 をリリースいたしました(リリースアナウンス)。

本リリースでは Symbian での Location API のクラッシュや Maemo 5 での Sensor API のバグ等、 1.0.1 で見つかったいくつかの致命的なバグを修正しています。

Qt Mobility 1.0.2 は Qt Solutions のページからダウンロードできます。

{ コメント/トラックバック 1 }

Qt Quick 入門 第2回: Qt Quick アプリケーションの実行

投稿者: 朝木卓見 投稿日: 2010年7月23日

Qt Quick 入門の初回となる前回では Qt Quick の概要を説明しました。第2回となる今回は Qt Quick アプリケーションを実際に実行し、体験してみましょう。

実行するアプリケーションは Qt Creator 2.1 のスナップショットに付属するサンプルを使います。Qt Creator 2.1 スナップショットをまだインストールしていない人は Qt 4.7 Beta2 & Qt Creator 2.1 Snapshots からダウンロード&インストールしてください。なお、スナップショットは日々更新されているため、一瞥しただけでは目的のプラットフォーム向けのバイナリが存在しないように見えるかもしれませんが、一度親ディレクトリに移動して過去の日付のディレクトリを探せば latest ディレクトリにないプラットフォーム向けのバイナリが見つかります。以下に各プラットフォームにおける執筆時点の最新のバイナリへのリンクを張っておきます。

スナップショットでの動作に問題があった場合にはより新しいバイナリがないか確認してください。

Qt Quick アプリケーションの実行にあたって

Qt Quick アプリケーションとは QML(+ JavaScript)で記述されたアプリケーションのことをいいます。QML はテキストファイルですので、それ自体をそのまま実行することは出来ません。通常は Qt C++ アプリケーションから QtDeclarative モジュールを通して QML ファイルを読み込んで実行するのですが、C++ のロジックを必要としない場合や QML 自体の動作確認には QMLViewer を用いて QML ファイルの実行を行うことができます。この QMLViewer は Qt Creator 2.1 スナップショットや Qt 4.7 β のバイナリパッケージに含まれている QML 実行用のアプリケーションです。QMLViewer を起動して、Qt Quick アプリケーションを読み込んで実行する方法もありますが、今回は Qt Creator 2.1 スナップショットを使って Qt Quick アプリケーションの実行を行います。

続きを読む…

{ コメント/トラックバック 0 }

前回は QObject の派生クラスの作成について学びました。今回は前回作成した Object クラスにシグナルとスロットを作成してみましょう。

Qt のオブジェクトの使用方法について

前回の記事で Qt のオブジェクトのコピーコンストラクタと代入演算子についてのコメントをいただきましたので、あらためてここで解説します。

Qt では QObject を基底クラスとした様々な派生クラスを使用しますが、基本的にこれらのオブジェクトのインスタンスはヒープ上に new で生成して使用します。インスタンスの管理やメソッドなどへの受け渡しはポインタで行います。

Qt のオブジェクトモデルでは、各インスタンスは一意であり以下の理由によりコピーと代入を禁止しています。

  • QObject::objectName() は各インスタンスに固有の値であるべきでコピーすべきではない
  • QObject の親子関係をコピーできない
  • 接続済みのシグナルやスロットをコピーすべきかどうかが不明のため
  • 動的に割り当てられたプロパティの値までコピーすべきかどうかが不明のため

同じ内容のインスタンスが必要な場合には別のインスタンスを生成し、各プロパティの値をコピーして使用してください。

Qt が提供する QObject の派生クラスでは、クラス定義の中で Q_DISABLE_COPY(クラス名) というマクロを使用してコピーコンストラクタと代入演算子を無効にしています。前回の例では登場しませんでしたが、QObject の派生クラスを作成する際にはこのマクロを使用して、コピーと代入を明示的に禁止するようにしましょう。

object.h

class Object : public QObject
{
    Q_OBJECT
    Q_DISABLE_COPY(Object)
public:
    ...
};

詳しくは Qt のドキュメント No copy constructor or assignment operator をご覧ください。

続きを読む…

{ コメント/トラックバック 0 }

MeeGo Seminar Summer 2010

投稿者: 佐相 宏尚 投稿日: 2010年7月9日

Linux Foundation 主催の MeeGo Seminar Summer 2010 が、7 月 26 日に東京コンファレンスセンター品川で開催されます。

プログラムはキーノートの後、ビジネスセッション、技術セッション、MeeGo / Qt+Atom セッションと濃い内容の 3  トラックが予定されております。どれも見逃せないため、ご参加される方は 3 名 1 組での来場をお勧めします。

MeeGo / Qt+Atom セッションは最も実務的な講演となっており、SW から HW 開発環境 まで一時に学べるチャンスです。
下記に1つでもあてはまる企業様は、現場の技術者が参加され知識習得されると、効率よくスタートを切ることができると思います。

- MeeGo 採用を検討している
- アプリケーション開発をしている
- アプリケーションストアに興味がある
- 組み込み製品の開発効率をあげたい
- 開発コストを削減したい
- Qt が好き

Qt については、Qt の基礎を学び、新技術 Qt Quick を理解し、そして Qt によるアプリ開発及びアプリケーションストア展開について習得できるセッションが連続しており、無償セミナーとしては前代未聞の濃い内容となっております。
Qt をこれから始める方、さらに活用したい方にお勧めです。

席が埋まりつつあると聞いておりますので、是非いますぐ参加登録をして下さい。
Linux の新機軸 MeeGo に注目です。

{ コメント/トラックバック 1 }

Qt Quick 入門 第1回: Qt Quick とは

投稿者: 朝木卓見 投稿日: 2010年7月9日

Qt 4.7 β2 とともに、Qt Creator 2.1 のスナップショットがリリースされました。Qt 4.7 のリリーススケジュールの変更に伴って、Qt Creator 2.0 では無効化されていた Qt Quick 関連の機能が、再び使えるようになりました。Qt Quick の環境がそろいつつあるということで、いよいよ日本語で Qt Quick の導入に向けた連載を開始することとなりました。この「Qt Quick 入門」シリーズでは Qt Quick を用いた UI の作成方法について説明していく予定です。

第1回となる今回は Qt Quick の概要について説明します。

Qt Quick とは

Qt Quick には QML や Declarative などの今までの Qt には存在しなかったキーワードがあります。これらの関係を整理してみましょう。

Qt Quick (Qt Quick User Interface Creation Kit)とは、Qt が新たに提唱する UI テクノロジーのフレームワークであり、以下の要素から構成されています。

上記の要素は Qt 4.7 と Qt Creator 2.1 から導入される予定です。
続きを読む…

{ コメント/トラックバック 1 }