ウィジェット・チュートリアル

はじめに

ウィジェットはQtで作られたグラフィカル・ユーザー・インターフェイス(GUI)アプリケーションの基本的な構成要素です。各GUIコンポーネント(ボタン、ラベル、テキストエディタなど)は、widget 、ユーザー・インターフェース・ウィンドウのどこかに配置されるか、独立したウィンドウとして表示されます。各タイプのウィジェットは、QWidget のサブクラスによって提供されます。 は、QObject のサブクラスです。

QWidget は抽象クラスではありません。他のウィジェットのコンテナとして使用することができ、最小限の労力でサブクラス化して新しいカスタムウィジェットを作成することができます。 は、他の を配置するウィンドウを作成するためによく使用されます。QWidget QWidget

QObjectと同様に、QWidgetは、所有権を示す親オブジェクトと一緒に作成することができ、使用されなくなったオブジェクトは確実に削除されます。各子ウィジェットは、親ウィジェットが占める画面領域内に表示されます。つまり、ウィンドウ・ウィジェットを削除すると、それが含むすべての子ウィジェットも削除されます。

メイン関数の記述

Qtで提供されている多くのGUIサンプルは、アプリケーションを初期化する標準的なコードを含むmain.cpp 、アプリケーション・ロジックやカスタムGUIコンポーネントを含む他のソース/ヘッダー・ファイルを含むパターンに従っています。

main.cpp の典型的なmain() 関数は次のようになります:

#include <QtWidgets>

// Include header files for application components.
// ...

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    // Set up and show widgets.
    // ...

    return app.exec();
}

まず、QApplication オブジェクトが構築される。このオブジェクトは、コマンドラインから渡される引数で設定することができる。ウィジェットが作成され、表示された後、QApplication::exec ()が呼び出され、Qtのイベントループが開始されます。この関数が戻るまで、制御はQtに渡されます。最後に、main() は、QApplication::exec() によって返された値を返します。

簡単なウィジェットの例

これらの単純なウィジェットの例は、すべてmain() 関数の中で書かれています。

実際のウィジェットの例

より高度な例では、ウィジェットとレイアウトを作成するコードは他のファイルに格納されます。たとえば、メインウィンドウのGUIは、QMainWindow サブクラスのコンストラクタで作成できます。

例のビルド

Qtを入手するためにバイナリパッケージをインストールした場合、あるいはQtを自分でコンパイルした場合、このチュートリアルで説明するサンプルはすでにビルドされ、実行できるようになっているはずです。もし、それらを修正して再コンパイルしたい場合は、以下の手順に従ってください:

  1. コマンドプロンプトから、修正したサンプルを含むディレクトリに入ります。
  2. コマンド・プロンプトから、修正したサンプルがあるディレクトリに入ります。qmake と入力し、Return を押します。これがうまくいかない場合は、実行ファイルがパス上にあることを確認するか、完全な場所を入力してください。
  3. Linux/Unix と macOS の場合は、make とタイプして、Return を押します。Visual Studio のある Windows の場合は、nmake とタイプして、Return を押します。

実行ファイルがカレント・ディレクトリに作成されます。Windowsでは、このファイルはdebug またはrelease サブディレクトリにあります。この実行ファイルを実行することで、サンプルコードの動作を確認することができます。

本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。