Qtプログラミング
プログラミング > Qtプログラミング
ライセンスの注意事項

Qtには、有償版ライセンスと、無償版ライセンスがある。
ライセンスの注意事項

無償版Qtの場合のライセンスは、Linux界隈で普及しているGPLライセンスになる。
ライセンスの注意事項

GPLはかなり制約の強いライセンスであり、GPLライセンスのアプリでは、販売・配布などする場合、絶対にソースコードを公開しなければならない。
インストールの方法

まず、開発環境および実行環境をインストールしなければならない。
インストールの方法

LinuxにもWindowsにもQtは対応しているが、しかしインストール方法はLinuxとWindowsとでは違う。
インストールの方法

まず、Linux版にしろWindows版にしろ、なるべくそれらのOSの既存のOS公式アプリケーションを流用しているので、まずはそれぞれのOSを更新しておいて、 OSがなるべく最新の状態になるようにアップデートしておく必要がある。
インストールの方法

windows版の場合、Qtアプリの実行環境として、数十GB(ギガバイト)もの容量を占有するので(たとえば40GB以上)、Windowsインストールの際に、あらかじめそのぶんの容量を確保しておくこと。
インストールの方法

もし、すでにインストール済みのパーティションの限界がそのQt実行環境の容量も小さいなら、次回のWindows再インストールのときまで見送って、それまでの間はLinuxで勉強しよう。
インストールの方法

Linuxの場合、オープンソース版Qtなら 数百MB~1GB ていどでインストールできる。
インストールの方法

とりあえずLinuxでのインストール方法を説明する。
インストールの方法

まず、qt5やqt4など実行環境として新らしめのバージョンのqtをインストールする。
インストールの方法

Fedora系の場合(Fedora31 で確認ずみ)、
インストールの方法

deb系の場合(ubuntu20.04)
インストールの方法

で入る。
インストールの方法

また、Linux版のqtでは、実行環境と開発環境は別である。qt5-devel のような、語尾に -devel のついたのが開発環境アプリなので、それをインストールする必要がある。
インストールの方法

で入る。
インストールの方法

また、これとは別に、 qt-creator という、IDE(統合開発環境)で設定や編集などを行うアプリを入れる必要がある。
インストールの方法

qt-creator は、例えるなら Windowsでいうところの Visual Studio のような統合開発環境の、qtアプリ開発版の統合開発環境である。 この qt-creator が無いと、設定などの編集が(初心者には)ほぼ不可能になので、入れよう。
インストールの方法

さて、Qt そのもののプログラミング言語は C++ で設計されており、Qtアプリを作るさいにも C++ の文法でプログラミングする。
インストールの方法

LinuxではC++用コンパイラとしてgcc-C++ というのがあるが、しかし Linux には標準では gcc-C++ は入ってないので、インストールする必要がある。
インストールの方法

ただし、 qt-creator をインストールした際に、自動で gcc-c++ もインストールされている場合がある。
インストールの方法

Linuxそのもののプログラミング言語はC++ではなく、標準C言語でLinuxは書かれている。なので、Linuxの多くのディストリビューションに初期状態で入っているコンパイラは、(C++に対応しておらず、標準C言語にだけ対応しているコンパイラである) GCCである。
インストールの方法

Linux版 Qt では、この gcc-C++ をコンパイラとして流用している。
インストールの方法

また、qtにかぎらない話題だが、複数個のコードを連結させて、makeコマンドを使ってmakeファイルというのを作る。 だが、Fedoraなど一部のLinuxでは、初期状態ではmakeコマンドが入ってないので、まずはmakeコマンド自体をインストールする必要がある。
インストールの方法

でmakeコマンドをインストールできる。
インストールの方法

もし読者が Windows の Visual Studio を使ってプログラミングしたことがあるなら分かると思うが、 Visual Stuido では C++的な言語で書かれたソースコードとは別に、そのアプリのための各種の設定などを保存したファイルが作成されていただろう。
インストールの方法

そして、それら一連のファイルを、Visual Studio の作成した、プロジェクト名のついたフォルダの中に入れて管理していただろう。
インストールの方法

Qtも、似たような仕組みである。 Qtでも、C++的なソースコードとは別に、設定などの書かれたソースコードがあり、それをプロジェクト名のついたフォルダの中に入れて管理することになる。
インストールの方法

そして先程も述べたが qt-creator とは、Visual Studio のような統合開発環境(IDE)である。
インストールの方法

なので、設定を書かれたソースコードを読み取って自動処理するために、どうしても qt-creator 必要になる。
インストールの方法

Qt-Creator をデスクトップ側からマウスクリックなどでアイコンをクリックして起動する。そういうアイコンが追加されているハズです。
インストールの方法

いっぽう、コマンド端末などで Qt-Creator とか、または単に qt などと入力しても、何も起動しない。
インストールの方法

なので、とにかくアイコンクリックで起動しよう。
インストールの方法

それから、まず手始めに、画面上部にあるメニューバーの左側の項目から、ファイルの新規作成を選択する必要がある。
インストールの方法

どんな種類のアプリケーションを作るか聞かれるので、とりあえず、Qt Widget Application を選べばいい。
インストールの方法

Widget (ウィジェット)とは、ウィンドウ部品(ボタンとか、タイトルバーとか、スライダーとか、そういうのの全部)のことである。Qt以外のGUIツールキット(たとえばGTKなど)でも、こういうウィンドウ部品のことをウィジェットというので、覚えておこう。ウィジェットとは、Windowsでいうところの、GUIアプリ開発時の「コンポーネント」のようなものである。
インストールの方法

その後、各種の設定確認ダイアログが出てくるので、メクラで「Next」ボタンを押してって、どんどん自動決定できるところまで進んでいけばいい。
インストールの方法

しかし、Kit の設定で止まるので、Addでキットを追加する必要がある。
インストールの方法

まず、qtの関連ファイルがインストールされているフォルダの場所が画面のメッセージに表示されているので、それをメモしておこう。 /usr/bin/qmake-qt5のようなパスが、画面のどこかに表示されているか、もしくは Qt Versionsタグ またはKitsタグ などを調べれば書かれているだろう。
インストールの方法

そして、option のリンクがあるので、そこから、オプション設定画面に移る。
インストールの方法

その後、Addボタンなどで、さきほどメモしておいた場所の情報を追加する。いちいちキーボード入力しなくても、Addボタンなどで表示されたファイル選択ダイアログ内で、さきほどメモしておいたフォルダの場所( /usr/bin/qmake-qt5 のような場所)にあるファイルをオープンすれば、自動で設定などを追加してくれるハズである。
インストールの方法

こうして、いちど設定しておけば、2回目以降からの新規作成では、この設定情報を再利用することになるので、もはや再度の設定の追加は不要になる。
ウィンドウに文字を表示するだけのプログラム

まず、上述の初期設定に成功すると、ウィンドウ・ウィジェットの新規作成をする際には、すでに下記のように最低限のコードが書かれたソースコードがIDE画面(Qt-Creator )のコード記述欄に表示される。
ウィンドウに文字を表示するだけのプログラム

IDE内で F5 ボタンを押すか、メニューバーからビルドを選んでビルドすると、このプログラムを実行できる。
ウィンドウに文字を表示するだけのプログラム

このプログラムだけでは単にウィンドウを表示するだけのプログラムである。まだ文字も表示できないので、「Hello World」すらも表示できない。タイトルで「Main Window」などが表示されているだけである。
ウィンドウに文字を表示するだけのプログラム

この何も文字表示されてないウィンドウを開いたままにすると以降の作業に邪魔になるので、いった閉じよう。ウィンドウ右上に、ふつうのウィンドウと同様に、閉じる(×)ボタンがあるはずである。
ウィンドウに文字を表示するだけのプログラム

さて、文字表示でいるようにするために「ラベル」というウィジェットを追加する必要があるが、しかしラベルの機能はテンプレ文では、まだインクルードされてないので、
ウィンドウに文字を表示するだけのプログラム

でインクルードする必要がある。
ウィンドウに文字を表示するだけのプログラム

これを実行するとわかるが、ウィンドウとは別にラベルが表示される。つまり、このプログラムでは、何も文字が書かれてないウィンドウ1つの表示と、「Hello World!」としか書かれてないラベルという、2つの物体が画面に表示されるだけである。
ウィンドウに文字を表示するだけのプログラム

なぜなら、まだウィンドウとラベルを何も関連づけていないからである。
ウィンドウに文字を表示するだけのプログラム

関連づけは、下記コードのようにラベル作成時などに関連づけを行う。
ウィンドウに文字を表示するだけのプログラム

Linux では、IDE内でいくら実行しても、単に実行結果をシミュレートするだけで、Windowsでいうようなexeファイル的な実行ファイルを作ることは、IDEでは不可能です。
ウィンドウに文字を表示するだけのプログラム

そもそもLinuxは、環境が多彩なので、だれのパソコンでも動作できるような互換性の高い実行ファイルをサポートするのが困難です。
ウィンドウに文字を表示するだけのプログラム

しかし、オブジェクトファイルは、次のような方法で作れます。
ウィンドウに文字を表示するだけのプログラム

まず、コマンド端末で、ソースコードのあるフォルダに移動します。(初期設定のままなら、Homeフォルダの近くに造られてるので、探してください。)
ウィンドウに文字を表示するだけのプログラム

unixコマンドの cd (チェンジ・ディレクトリ)コマンドで移動できるので、そこに移動してください。 を維持する
ウィンドウに文字を表示するだけのプログラム

そのあと、
ウィンドウに文字を表示するだけのプログラム

で、オブジェクトファイルが造られます。OSによっては、コマンド時に上記のようにバージョン番号が必要です。(※ Fedora 31 で確認したところ、「qmake」とだけバージョン番号をつけずにコマンド入力しても「command not found...」エラーになります。)
ウィンドウに文字を表示するだけのプログラム

作成されたオブジェクトファイルを確認するために、GUI側から、ひし形みたいなアイコンがオブジェクトファイルですので、そのアイコンをダブルクリックして起動してみましょう。起動して、「Hello World!」と文字の書かれたウィンドウが出たら成功です。
ウィンドウに文字を表示するだけのプログラム

次の確認作業のため、いったん先ほど開いたウィンドウを閉じましょう。
ウィンドウに文字を表示するだけのプログラム

また、このファイルが本当にオブジェクトファイルであることを確認するために、別フォルダとしてドキュメントフォルダやダウンロードフォルダなどの別のフォルダに、オブジェクトファイルとされるファイルをコピペーストとしてみて、起動して実行してみて確認しましょう。起動して、「Hello World!」と文字の書かれたウィンドウが出たら成功です。