Eclipce+Qt

MergeDoc からC/C++構成をダウンロードするのが吉。JRE付きのほうがトラブル少なくてよい。これでC++環境は安泰。

つぎにQt Eclipse Integrationをインストール。設定はパス指定だけ。

gdbが上手く動かないときは環境変数を見直す(こちら)。

サンプル作成

プロジェクト作成時にQt GUI Projectを指定。*.ui をクリックするとQt Designerが起動するので、 適当にボタンとかつける。

QtDesigner->Editor Mode->Edit Signal/Slot にするとシグナルを設定できるので、たとえばボタンを選んで フォームに接地(ベタ地にドラッグアンドドロップすると電気接地記号が出る)してみる。clicked()という メッセージをフォーム(Widget)のどのスロットと結びつけるか聞いてくるので、とりあえずbuttonPushed()とかいう スロットを追加して保存。

Widgetクラスの宣言に

private slots:
	void buttonPushed();

を追加して中身を書けば終了。ただし、on_ボタン名_clicked() というスロットは、定義すれば勝手にconnectされる。正確には、on_送信元オブジェクト名_シグナル名() かな。

ファイル構成

hogehogeというWidgetを作ろうとすると、以下のファイルができる。

main.cpp
hogehoge.cpp
hogehoge.h
ui_hogehoge.h
hogehoge.ui

QTDesigenerで編集した内容はhogehoge.uiに書き込まれ、qmake経由でui_hogehoge.hが作成されるが、これらはいじる必要がなく(というかいじらないようにするのが流儀っぽい)hogehoge.cpp,hogehoge.h の修正をメインにする。

hogehoge.cppのコンストラクタではui.setupUi(this);とだけ済ませているが、これの実体はui_hogehoge.hに記述されている。