2015年4月26日日曜日

Qt Creatorでメニューを作る。

Qt Creatorでメニューを作る。

Qt CreatorでよくあるツールのGUIを作ってみます。

step1. リソースファイル(application.qrc)の作成とリソース(アイコン用画像)の追加

 1. プロジェクトを右クリックし、新しいファイルの追加でQt Resource Fileを選択し、xxxx.qrcファイルを作成する。

    enter image description here

 2. 作成したqrcファイルを選択し、右クリックし、プレフィックスの追加でPrefixに’/’を入れてOKをクリック。
 
    enter image description here

 3. 作成したPrefixにて右クリックをし、既存のファイルを追加を選択し、追加する。以下のように複数選択可能。
   ※Gitで管理しているためか他のフォルダから持ってくると追加できないとエラーがでるので、
    追加するファイルはあらかじめ、プロジェクトのフォルダにコピーしておいたほうがよさそう。

    enter image description here


step2. アクションを登録する

 1. *.uiファイルをダブルクリックし、Action Editorで新規をクリックし、
    enter image description here

   以下のような形でリソースを追加していく。
   ショートカットに関しては、実際にCtrl+Cを押すことで以下のように記載される。
    enter image description here

〜 2015/4/30に修正 〜

step3. メニューが押されたときの操作を追加

① Action Editorでアクションを追加したい項目で右クリックし、スロットへ移動をクリック。
enter image description here

② triggered()を選択してOK.
enter image description here

以下のようにmainwindow.hとmainwindow.cppにon_actionOpen_triggered()が自動で追加されます。

enter image description here

〜余談〜
mainToolBarにも追加したい場合は以下のようにAction EditorのアクションをDrag & Dropします。
enter image description here

以下のstep3、step4は取り消し

step3. メニューが押されたときの操作を追加

① 作成しているウインドウを選択した状態で右クリックし、シグナル/スロットを変更をクリック。
enter image description here

② ”+”を押してスロット(関数)を追加し、追加したスロットをダブルクリックし、名前を変更。

今回は、newFile(), openFile()を追加しました。

enter image description here

③ Signals & Slots Editorでアクションとスロットを接続していく。
enter image description here


step4. 実動作の実装

先ほど作成したスロットを以下のように追加する。

[mainwindow.h]

protected slots:
    void newFile();// File -> Newが押されたとき用
    void openFile();// FIle -> Openが押されたとき用

注意)ここで定義したものがmainwindows.cppにないとエラーがでました。当たり前?

[mainwindow.cpp]

void MainWindow::newFile()
{
    QMessageBox msgBox(this);
    msgBox.setText("New");
    msgBox.exec();
}

とりあえずメッセージボックスを表示した。
※mainwindows.hに#include <QMessageBox>
 を入れておくこと。

File -> Newを押したら、メッセージボックスが表示できました。
めでたし。めでたし。

 
参考:
http://see-ku.com/wiki/wiki.cgi?page=Qt%A4%CEGUI%A5%E1%A5%E2%A1%CA%B1%FE%CD%D1%CA%D4%A1%CB
http://memotiyou.blogspot.jp/2012/03/qt-c_2608.html
http://mf-atelier.sakura.ne.jp/mf-atelier/modules/tips/program/Qt/qt_mainwindow.html

0 件のコメント :

コメントを投稿