PAGER : トップ /コードを書く

Line Editにスライダーからの値を表示させる

LCDをLine Editに変更
前回までは、コードはいっさい書かなかったが、ここで始めてコードを 書くことにする。
今回は、LCD Numberではなく、画像処理アプリケーション作成のチュートリアル でも行ったように、Line Editに値を表示させるようにする。

Line Editに値を表示するには、整数をそのまま渡す訳にはいかない。 整数を文字列に変換して、LineEditのスロットsetText(QString)に 渡さねばならない。
コードについての詳しい説明は、 画像処理アプリケーション作成のチュートリアル を参照してほしい。

新しいスロットの追加

まず、LCD NumberをLine Editに置き換える。 一度レイアウトを壊し(Break Layout(Ctrl+B))、LCD Numberを削除し LineEditに置き換える。
次に、スライダーのシグナルを新しいスロットに接続する。

connect
コネクトを選択し、上の図のように、スライダーからダイアログ自体を 接続する。

editslots
開いたView and Edit ConnectionsダイアログのEdit Slotsボタンを押す。

setInt(int)
上のようなスロットを定義する。

connect
あとは、上のようにvalueChanged(int)シグナルと定義した スロットを接続するだけである。

スロットの実装

Object OVerview
次にスロットの実装を行う。
Object Overviewからファイルを開く。
そこに、先ほど定義したsetInt(int)スロットがかかれているので 下のコードを追加する。

QString str; lineEdit1->setText(str.setNum(value, 10)); (lineEditの名前を変更した場合は、併せて変えること)

コンパイル、実行

コンパイルは特に注意することがない。 画像処理アプリケーション作成のチュートリアルの Hello,Qt!(動作確認とこのチュートリアルについて) を参考にコンパイルしてほしい。
ただし、proファイルはQt Designerが作成しているので、 qmake -projectは実行しなくて良い。


Qt Designerのコーディングについて

MicrosoftやBorlandのRADツール(Visual Studio等)を使用したことが ある人には、Qt Designerのコーディングに違和感を覚えるかもしれない。 それは、Visual Studio等のRADツールは、すべてのコードをユーザーが変更出来る様に しているのに対して、 Qt Designerは必要な部分のみコーディングを行うようにしているからであろう。
このように、Qt Designerは必要な部分のみユーザーがコーディング出来るように しているため、複雑になりがちなコーディングをよりシンプルに行える。

PAGER : トップ /コードを書く