アーキテクチャ

Qt 5 アルファ版

Published Wednesday April 4th, 2012 | 1 Comment on Qt 5 アルファ版
Posted in Qt, ニュース | Tags: , , , , , , ,

この記事は Qt Blog の “Qt 5 Alpha” を翻訳したものです。 執筆: Lars Knoll, 2012年4月3日 本日 Qt 5 のアルファ版をリリースしました。Qt Project への開発体制の移行後、初のメジャーリリースになります。これまで数多くの関係者がこのリリースのために尽力してきました。Nokia の社員ではない方々もこのアルファ版に向けた多くの作業や新機能の実装を行ってきました。このプロジェクトに様々な人が加わり、一丸となって Qt をさらに良いものにしていることを大変嬉しく思います。 Qt 5 のアルファ版のリリースの主な目的は、今後のリリースをより良いものにするためのフィードバックを得ることです。このアルファ版では Qt 5 が提供する機能のうち、基本的な機能で構成される Qt Essential のモジュールにフォーカスしています。 アルファ版は http://qt-project.org/wiki/Qt-5-Alpha からダウンロードできます。今回はソースコードのみのリリースで、バイナリの提供はありません。みなさんの手でビルドをしていただく必要があります。ビルドの手順については http://qt-project.org/wiki/Qt-5-Alpha-building-instructions を参照してください。

Read More

Qt をはじめよう! 第15回: GUI デザイナでシグナル/スロットを接続しよう

Published Sunday February 27th, 2011 | Leave a comment
Posted in Qt Creator, Qt をはじめよう! | Tags: , ,

前回 に引き続き今回も GUI デザイナの使い方を説明します。 GUI デザイナではフォーム上のウィジェット間のシグナル/スロットを接続することが可能です。 今回はこの機能を試してみましょう。 シグナル/スロットの接続(1) まず始めに、以下のように LineEdit と PushButton をフォーム上に配置してください。 何か情報を入力して「OK」を押した場合に閉じるようなアプリケーションを想定しています。このため、今回は使用しませんが Label も配置してあります。また、各ウィジェットの文字列の変更やレイアウトはここでは省略してあります。 ここで、ツールバーにある「シグナル/スロットの編集」ボタンをクリックし、シグナル/スロットの編集モードに切り替えましょう。「F4」キーでも同様の操作になります。 それではシグナル/スロットを接続してみましょう。

Read More

Qt をはじめよう! 第15回: GUI デザイナでシグナル/スロットを接続しよう

Published Sunday February 27th, 2011 | Leave a comment
Posted in Qt Creator, Qt をはじめよう! | Tags: , ,

前回 に引き続き今回も GUI デザイナの使い方を説明します。 GUI デザイナではフォーム上のウィジェット間のシグナル/スロットを接続することが可能です。 今回はこの機能を試してみましょう。 シグナル/スロットの接続(1) まず始めに、以下のように LineEdit と PushButton をフォーム上に配置してください。 何か情報を入力して「OK」を押した場合に閉じるようなアプリケーションを想定しています。このため、今回は使用しませんが Label も配置してあります。また、各ウィジェットの文字列の変更やレイアウトはここでは省略してあります。 ここで、ツールバーにある「シグナル/スロットの編集」ボタンをクリックし、シグナル/スロットの編集モードに切り替えましょう。「F4」キーでも同様の操作になります。 それではシグナル/スロットを接続してみましょう。

Read More

Qt をはじめよう! 第15回: GUI デザイナでシグナル/スロットを接続しよう

Published Sunday February 27th, 2011 | Leave a comment
Posted in Qt Creator, Qt をはじめよう! | Tags: , ,

前回 に引き続き今回も GUI デザイナの使い方を説明します。 GUI デザイナではフォーム上のウィジェット間のシグナル/スロットを接続することが可能です。 今回はこの機能を試してみましょう。 シグナル/スロットの接続(1) まず始めに、以下のように LineEdit と PushButton をフォーム上に配置してください。 何か情報を入力して「OK」を押した場合に閉じるようなアプリケーションを想定しています。このため、今回は使用しませんが Label も配置してあります。また、各ウィジェットの文字列の変更やレイアウトはここでは省略してあります。 ここで、ツールバーにある「シグナル/スロットの編集」ボタンをクリックし、シグナル/スロットの編集モードに切り替えましょう。「F4」キーでも同様の操作になります。 それではシグナル/スロットを接続してみましょう。

Read More

Qt をはじめよう! 第14回: GUI デザイナでのレイアウトに慣れよう!

Published Saturday December 4th, 2010 | Leave a comment
Posted in Qt Creator, Qt をはじめよう! | Tags: , ,

今回は GUI デザイナを通して、UI を作成する際に使用する様々なレイアウトについて学びましょう。 今回も新たにプロジェクトを作成しましょう。 テンプレートは「Qt GUI アプリケーション」を選択してください。 プロジェクトのパスと名前は任意の名前を指定してください。 基底クラスは「QWidget」で、クラス名の所は今回はデフォルトのまま「Widget」にします。 「フォームを生成する」のチェックは外さないでください。 プロジェクトの作成方法は 第13回 と同様ですので、詳細はそちらを参照してください。 様々なレイアウトを使用する レイアウト管理を学ぼう で紹介したとおり Qt では4つのレイアウトが標準で利用できます。GUI デザイナでもこれらのレイアウトを使用する事が可能です。 [qt QVBoxLayout] を使用すると複数のウィジェットやレイアウトを縦方向に並べることができます。 [qt QHBoxLayout] を使用すると複数のウィジェットやレイアウトを横方向に並べることができます。 [qt QGridLayout] を使用すると複数のウィジェットやレイアウトをグリッド状に並べることができます。 [qt QFormLayout] は入力ウィジェットをラベルとセットにして複数並べるためのレイアウトです。同様のレイアウトは QGridLayout でも基本的には可能ですが、QFormLayout では一般的な入力フォーム向けに [qt “レイアウトが最適化” l=qformlayout m=#details] されます。 レイアウトを設定する GUI デザイナでのレイアウトの設定方法は2種類あります。ウィジェットに対してレイアウトを設定する場合と、複数のウィジェットをレイアウトでまとめるだけの場合です。ウィジェットに対してレイアウトを設定した場合は、そのウィジェットのサイズに応じて動的にレイアウトが更新されます。一方、レイアウトを作成しただけの場合にはそのような動的な更新は行われません。このレイアウトは他のレイアウトやウィジェットを組み合わせて複雑なレイアウトを実現する為に使用します。 それではこの2つの違いを実際に確認してみましょう。

Read More

Qt をはじめよう! 第14回: GUI デザイナでのレイアウトに慣れよう!

Published Saturday December 4th, 2010 | 1 Comment on Qt をはじめよう! 第14回: GUI デザイナでのレイアウトに慣れよう!
Posted in Qt Creator, Qt をはじめよう! | Tags: , ,

今回は GUI デザイナを通して、UI を作成する際に使用する様々なレイアウトについて学びましょう。 今回も新たにプロジェクトを作成しましょう。 テンプレートは「Qt GUI アプリケーション」を選択してください。 プロジェクトのパスと名前は任意の名前を指定してください。 基底クラスは「QWidget」で、クラス名の所は今回はデフォルトのまま「Widget」にします。 「フォームを生成する」のチェックは外さないでください。 プロジェクトの作成方法は 第13回 と同様ですので、詳細はそちらを参照してください。 様々なレイアウトを使用する レイアウト管理を学ぼう で紹介したとおり Qt では4つのレイアウトが標準で利用できます。GUI デザイナでもこれらのレイアウトを使用する事が可能です。 [qt QVBoxLayout] を使用すると複数のウィジェットやレイアウトを縦方向に並べることができます。 [qt QHBoxLayout] を使用すると複数のウィジェットやレイアウトを横方向に並べることができます。 [qt QGridLayout] を使用すると複数のウィジェットやレイアウトをグリッド状に並べることができます。 [qt QFormLayout] は入力ウィジェットをラベルとセットにして複数並べるためのレイアウトです。同様のレイアウトは QGridLayout でも基本的には可能ですが、QFormLayout では一般的な入力フォーム向けに [qt “レイアウトが最適化” l=qformlayout m=#details] されます。 レイアウトを設定する GUI デザイナでのレイアウトの設定方法は2種類あります。ウィジェットに対してレイアウトを設定する場合と、複数のウィジェットをレイアウトでまとめるだけの場合です。ウィジェットに対してレイアウトを設定した場合は、そのウィジェットのサイズに応じて動的にレイアウトが更新されます。一方、レイアウトを作成しただけの場合にはそのような動的な更新は行われません。このレイアウトは他のレイアウトやウィジェットを組み合わせて複雑なレイアウトを実現する為に使用します。 それではこの2つの違いを実際に確認してみましょう。

Read More

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

Published Thursday August 19th, 2010 | Leave a comment
Posted in Qt をはじめよう! | Tags: ,

前回は独自のシグナルとスロットを作成し使用してみました。 これまでのサンプルではアプリケーションのユーザーインターフェースのデザインを C++ のコードで作成してきました。 今回はユーザーインターフェースを GUI のツールを用いてデザインする方法について解説します。 「第5回: Qt Creator を使ってみよう!」、「第6回: 簡単なブラウザを作ってみよう!」 で既に使用したとおり、Qt では UI を GUI のツールでデザインすることが可能です。「第8回: QWidget の親子関係を学ぼう」、「第9回: レイアウト管理を学ぼう」 では、ソースコードでウィジェットの生成やレイアウトの管理をしましたが、これは GUI ツールを使用して UI のデザインをする際の背景となる仕組みを理解するためでした。 今回は前回まで使用したサンプルではなく、新しくプロジェクトを作成します。

Read More

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

Published Thursday August 19th, 2010 | Leave a comment
Posted in Qt をはじめよう! | Tags: ,

前回は独自のシグナルとスロットを作成し使用してみました。 これまでのサンプルではアプリケーションのユーザーインターフェースのデザインを C++ のコードで作成してきました。 今回はユーザーインターフェースを GUI のツールを用いてデザインする方法について解説します。 「第5回: Qt Creator を使ってみよう!」、「第6回: 簡単なブラウザを作ってみよう!」 で既に使用したとおり、Qt では UI を GUI のツールでデザインすることが可能です。「第8回: QWidget の親子関係を学ぼう」、「第9回: レイアウト管理を学ぼう」 では、ソースコードでウィジェットの生成やレイアウトの管理をしましたが、これは GUI ツールを使用して UI のデザインをする際の背景となる仕組みを理解するためでした。 今回は前回まで使用したサンプルではなく、新しくプロジェクトを作成します。

Read More

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

Published Thursday August 19th, 2010 | 7 Comments on Qt をはじめよう! 第13回: GUI デザイナを使おう
Posted in Qt をはじめよう! | Tags: ,

前回は独自のシグナルとスロットを作成し使用してみました。 これまでのサンプルではアプリケーションのユーザーインターフェースのデザインを C++ のコードで作成してきました。 今回はユーザーインターフェースを GUI のツールを用いてデザインする方法について解説します。 「第5回: Qt Creator を使ってみよう!」、「第6回: 簡単なブラウザを作ってみよう!」 で既に使用したとおり、Qt では UI を GUI のツールでデザインすることが可能です。「第8回: QWidget の親子関係を学ぼう」、「第9回: レイアウト管理を学ぼう」 では、ソースコードでウィジェットの生成やレイアウトの管理をしましたが、これは GUI ツールを使用して UI のデザインをする際の背景となる仕組みを理解するためでした。 今回は前回まで使用したサンプルではなく、新しくプロジェクトを作成します。

Read More

Qt をはじめよう! 第12回: シグナルとスロットを作成しよう

Published Tuesday July 20th, 2010 | Leave a comment
Posted in Qt をはじめよう! | Tags: ,

前回は QObject の派生クラスの作成について学びました。今回は前回作成した Object クラスにシグナルとスロットを作成してみましょう。 Qt のオブジェクトの使用方法について 前回の記事で Qt のオブジェクトのコピーコンストラクタと代入演算子についてのコメントをいただきましたので、あらためてここで解説します。 Qt では [qt QObject] を基底クラスとした様々な派生クラスを使用しますが、基本的にこれらのオブジェクトのインスタンスはヒープ上に new で生成して使用します。インスタンスの管理やメソッドなどへの受け渡しはポインタで行います。 Qt のオブジェクトモデルでは、各インスタンスは一意であり以下の理由によりコピーと代入を禁止しています。 [qt QObject objectName m=#objectName-prop] は各インスタンスに固有の値であるべきでコピーすべきではない QObject の親子関係をコピーできない 接続済みのシグナルやスロットをコピーすべきかどうかが不明のため 動的に割り当てられたプロパティの値までコピーすべきかどうかが不明のため 同じ内容のインスタンスが必要な場合には別のインスタンスを生成し、各プロパティの値をコピーして使用してください。 Qt が提供する QObject の派生クラスでは、クラス定義の中で [qt “” Q_DISABLE_COPY(クラス名) l=qobject m=#Q_DISABLE_COPY] というマクロを使用してコピーコンストラクタと代入演算子を無効にしています。前回の例では登場しませんでしたが、QObject の派生クラスを作成する際にはこのマクロを使用して、コピーと代入を明示的に禁止するようにしましょう。 object.h class Object : public QObject { Q_OBJECT Q_DISABLE_COPY(Object) public: … }; 詳しくは Qt のドキュメント [qt […]

Read More
Get started today with Qt Download now