|
Version 3
menu/tool bar
Version 4
|
Qt メニューとツールバー目次はじめに私たちが使っているアプリケーションの多くは,メニューとツールバーが備わっていることが普通である.Qtでは,簡単にこのメニューやツールバーを設定できるようになっている.ここでは,簡単なテキストエディタの作成を例として,メニューとツールバーの設定のしかたを説明していく.ただし,ファイルの保存や読み出しなど,実際の機能の実装まではせずにサンプルプログラムを作っていく. ![]() ここでのサンプルプログラムは「Qt GUIプログラミング」を参考にしている. QMainWindowについてメニューバーやツールバーをおくためには,QMainWindowを使う.つまり,このQMainWindowのサブクラスとしてテキストエディタのクラスを造ればよい.QMainWindowの構成は下の図のようになっていて,それぞれの場所にメニューやアイコンなどを設定していく. ![]() menuBar()にはメニューが入る.実際にはQPopupMenuをmenuBar()に追加していくことで,これを実現する.また,QPopupMenuからはQActionを呼び出す.同じように,topDock()にはQToolBarを追加し,QActionを呼び出すようにする. アクションの設定メニューバーやツールバーにはQActionを設定する。したがって、その前にQActionを作っておかなくてはならない。たとえば、Newという機能を作る場合、クラスのメンバーに QAction *newAct; というようにQActionポインタを持たせて、コンストラクタで、
とする。 メニューバーの設定メニューバーにはFileとEditの二つのメニューを設定するので、クラスのめんばーに QPopupMenu *fileMenu; QPopupMenu *editMenu; を加えておき、コンストラクタでファイルメニューにアクションを fileMenu = new QPopupMenu(this); newAct->addTo(fileMenu); openAct->addTo(fileMenu); saveAct->addTo(fileMenu); saveAsAct->addTo(fileMenu); fileMenu->insertSeparator(); //区切りを入れる exitAct->addTo(fileMenu); と設定する。同じようにエディットメニューなども設定する。そして最後に
としてメニューバーにFileとEditを追加する。 ツールバーの設定ツールバーの設定もメニューバーの設定とほとんど同じで、クラスのめんばーに QToolBar *fileToolBar; QToolBar *editToolBar; を持っておき、コンストラクタで
とする。 プログラム作成したプログラムを以下に示す. できあがったアプリケーションは以下の図ようになる. ![]() |