QObject

Qt をはじめよう! 第11回: QObject の派生クラスを作成しよう

Published Wednesday July 7th, 2010 | 25 Comments on Qt をはじめよう! 第11回: QObject の派生クラスを作成しよう
Posted in Qt をはじめよう! | Tags: , ,

前回はシグナルとスロットと、その使い方について解説しました。”次回は独自のシグナルとスロットを作成してみましょう。”と書きましたが、その前に、シグナルとスロットの作成のために必要な QObject の派生クラスの作成について解説することにします。 QObject の派生クラスの作成 前回まで使用してきたサンプルに QObject の派生クラス Object を追加しましょう。 前回までに作成したプロジェクトを開いた状態で ファイル(F) -> ファイル/プロジェクトの新規作成(N)… を選択してください。 Qt Creator 2.0 では新規作成ダイアログがより使いやすくなりました。 「ファイルとクラス」の中から「C++」を選択し、右上のリストの「C++ クラス」を選択し、「選択(C)…」ボタンをクリックします。 C++ クラスウィザード クラス名: Object 基底クラス:QObject 型情報:QObject を継承 と設定し、「次へ(N)>」をクリックします。 object.h と object.cpp が作成され、プロジェクト example.pro に追加されます。 「完了(F)」 をクリックし、ウィザードを終了してください。

Read More

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

Published Thursday June 17th, 2010 | 1 Comment on Qt をはじめよう! 第10回: シグナルとスロット
Posted in Qt をはじめよう! | Tags: ,

前回、前々回と、Qt のユーザーインターフェースの作成について学びました。 今回から数回に渡って Qt のオブジェクト間通信の仕組みであるシグナルとスロットについて学んでいきましょう。 シグナルとスロットとは 一般的に GUI プログラミングでは、一つのウィジェットやオブジェクトの状態が変わった際に何かしらの処理を行うために、他のウィジェットやオブジェクトにそれを通知する仕組みが必要です。前回、および前々回のサンプルアプリケーションの場合、ユーザーが Close ボタンを押した際にウィンドウを閉じる処理をするために「ボタンが押された」ことをどこかに通知する必要があります。 これまでの多くのツールキットでは、コールバック関数を登録しそれを呼び出す方法でこれを実現してきました。しかしコールバックには色々な問題があります。 シグナルとスロットは、コールバック関数に変わる新しいオブジェクト間通信の仕組みです。コールバック関数の問題であった引数の型の安全性を保証し、オブジェクト指向の重要な理念であるカプセル化の思想に基づいた汎用性の高いクラスの設計を可能にします。

Read More

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

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

前回、前々回と、Qt のユーザーインターフェースの作成について学びました。 今回から数回に渡って Qt のオブジェクト間通信の仕組みであるシグナルとスロットについて学んでいきましょう。 シグナルとスロットとは 一般的に GUI プログラミングでは、一つのウィジェットやオブジェクトの状態が変わった際に何かしらの処理を行うために、他のウィジェットやオブジェクトにそれを通知する仕組みが必要です。前回、および前々回のサンプルアプリケーションの場合、ユーザーが Close ボタンを押した際にウィンドウを閉じる処理をするために「ボタンが押された」ことをどこかに通知する必要があります。 これまでの多くのツールキットでは、コールバック関数を登録しそれを呼び出す方法でこれを実現してきました。しかしコールバックには色々な問題があります。 シグナルとスロットは、コールバック関数に変わる新しいオブジェクト間通信の仕組みです。コールバック関数の問題であった引数の型の安全性を保証し、オブジェクト指向の重要な理念であるカプセル化の思想に基づいた汎用性の高いクラスの設計を可能にします。

Read More

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

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

前回、前々回と、Qt のユーザーインターフェースの作成について学びました。 今回から数回に渡って Qt のオブジェクト間通信の仕組みであるシグナルとスロットについて学んでいきましょう。 シグナルとスロットとは 一般的に GUI プログラミングでは、一つのウィジェットやオブジェクトの状態が変わった際に何かしらの処理を行うために、他のウィジェットやオブジェクトにそれを通知する仕組みが必要です。前回、および前々回のサンプルアプリケーションの場合、ユーザーが Close ボタンを押した際にウィンドウを閉じる処理をするために「ボタンが押された」ことをどこかに通知する必要があります。 これまでの多くのツールキットでは、コールバック関数を登録しそれを呼び出す方法でこれを実現してきました。しかしコールバックには色々な問題があります。 シグナルとスロットは、コールバック関数に変わる新しいオブジェクト間通信の仕組みです。コールバック関数の問題であった引数の型の安全性を保証し、オブジェクト指向の重要な理念であるカプセル化の思想に基づいた汎用性の高いクラスの設計を可能にします。

Read More
Get started today with Qt Download now