Qt!と表示するプログラムを作ることにします。何も考えず次のソースコードを入力し、実行できるかどうかのテストをしてみてください。フォルダまで移動してください。-projectをタイプしてください。次にqmakeをタイプし、最後にmakeとします。これでフォルダに実行ファイルが作成されたはずです。hello.proをタイプし、次にqmakeを実行します。ファイルが作成されます。このプロジェクトを実行し、コンパイルを行ってください。ように表示されると思います。Windowsで実行したHelloでは一行ずつ解説していきます。1,2行目の部分は、QApplicationとQLabelのクラスの定義をインクルードしています。Qtを使っているGUIアプリケーションには必ず一つのQApplicationのオブジェクトが無ければなりません。すべてのQtクラスはヘッダーファイルとクラスが同じ名前に設定されています。6行目はQApplicationオブジェクトを作成しています。コンストラクタにはargcとargvを渡さなければなりません。このため、Qtで作成したプログラムでもコマンドライン引数を使うことが出来ます。Qt!と表示するラベルを作成しています。8行目でラベルを表示しています。9行目でコントロールをQtアプリケーションに渡します。コントロールを渡した先ではイベントループが起こっています。これでプログラムは完成です。プログラムをコンパイルして実行してみてください。細かいことは気にしないでください。節のプログラムでQLabelを使用しました。ここでQLabelの面白い使い方を見てみましょう。Qt!");の部分を次のコードに置き換えてコンパイル、実行してみてください。ように、斜体文字となりました。</i>という書き方はHTMLで主に使用されています。このようにHTMLスタイルの書き方をQLabelではサポートしています。Linuxで実行したTest2HTMLについてはここでは説明しません。興味のある方はインターネットで調べてみてください。とほほのWWW入門(http://www.tohoho-web.com/www.htm)なんかがお勧めです。前節ではラベルを作ったので、今度はボタンを作ってみましょう。次のようなコードを書いたとします。節のQLabelの部分がQPushButtonに変わっただけです。このようにすることでボタンを作成することができます。8行目、9行目は今回始めて出てきた関数です。resize関数は、ボタンの大きさを変更するものです。この場合は、高さ200Pixels,幅50Pixelsとなります。move関数は、ウィンドウ(この場合ボタン)がデスクトップ上に表示される位置を決めるものです。なっており、デスクトップ画面の一番左端が(0,0)となっています。x座標はデスクトップの左から右にいくに従い値が増加し、y座標は上から下に行くに従い値が増加します。move関数は特に設定しなくても問題ありません。これらの関数はQPushButtonのみならず、QLabelなどの部品でも使うことができます。QPushButtonはQLabelとは違いHTMLのタグを使うことはできません。何かアクションを起こしたいと思うかもしれません。この事については第3章で取り扱います。[1]_の基本的な使い方を勉強してしまいましょう。思ったかもしれません。(そんなことは無い?)Qtではフォントを変えるのも簡単です。前節のプログラムに次のコードを書き加えるだけです。);QFontを使う場合は、QFontをインクルードしなければなりません。);と定義されています(他にもありますが省略します)。フォントの変更ができます。QFontのコンストラクタの第1引数の引数はフォントの名前を指定してあげます。例ではTimesというフォントを使うことにしました。他にもSystemやWindowsの場合だとTahomaなんていうフォントもあります。第2引数にはフォントの大きさを指定します。第3引数にはフォントの幅を指定します。例ではフォントの幅をQFont::Boldとしました。これは75という数字に置き換えられます。ボールド文字(太い文字)にしたい時にはQFont::Boldを使えばよいでしょう。他にもQFont::Normal(50に置き換えられる)やQFont::Light(25に置き換えられる)などがあります。0〜99の値の範囲ならどんな値でもよいです。第4引数はbool型となっており、イタリック体(斜体)にしたい場合はこの引数にtrueを与えてあげればよいです。した場合の実行例です。日本語を表示してみよう¶もしかしたらもうお気づきの方もいるかもしれません。今までボタンやラベルのキャプションには英語しか使ってきませんでした。日本語を使わなかったのかというと、実は日本語の扱いは厄介なものだからです。次のようなコードを実行したとしましょう。7行目を変えただけです。Linux)なんと文字化けしてしまっています。知っていると思います。Windowsの場合、使われている文字コードは大体がShift-JISです。EUC-JPやUTF-8などでしょうか。この文字コードの違いにより文字化けが起こってしまいます。この問題を回避するためには、Qtに自分が使っている文字コードを教えてあげる必要があります。その方法は、次のようなコードになります。}実行結果は、下図のとおりとなります。Windows重要なのは、9行目と10行目です。9行目のQTextCodec::setCodecForTr(QTextCodec::codecForLocale());という部分で文字コードを指定しています。setCodecForTr関数の引数には、QTextCodec型の値を渡します。標準的な文字コードを返します。大体の場合はこの方法で問題ないと思います。人によっては文字コードを指定したい場合があるかもしれません。codecForName関数の中に直接使用したい文字コードを書き込みます。10行目はQObject::tr関数を使用しています。