サンプル画面の作成サンプル画面について
ボックス・フォーム・グリッド・スタックなど、いろいろなレイアウトを使ったサンプルです。
ラベル・プッシュボタン・テキストボックスなど、よく使うウィジェットが入っています。 また、ファイル選択・色選択・メッセージボックスなどのダイアログもあります。 ![]() 「サンプル(中編)」で、クライアント領域のほとんどを作ります。 「サンプル(後編)」で、画面右下のスタックレイアウトの内容を作ります。 このサンプルを実行するには下記のインクルードが必要です。詳しくは「ソースの確認」参照。 #include <QtWidgets> 関数の宣言 (mainwindow.h)
サンプル画面は3つに分けて作成します。
・上側のメニューバーとツールバー ・下側のステータスバー ・中央のクライアント領域 初期設定と各部分の作成 (mainwindow.cpp)
最初にウインドウのタイトルやアイコンなどを設定します。それから3つの部分を作成します。
※スプリッターは、つかむところに色を付けて目立つようにしています。
メニューとツールバーメニューの構成
メインメニュー(ファイル/ダイアログ/参考)と、サブメニュー(メッセージ)を作ります。
4項目(情報表示/ウインドウを閉じる/色選択/フォント選択)をツールバーに表示します。 ![]() メニューとツールバーの追加 (mainwindow.cpp)
この関数内でメニューとツールバーを追加します。
1.[ファイル] メニュー追加
アクションを2つ作ってメニューに追加します。
「ウインドウを閉じる」が選択された時、自動的にウインドウを閉じて終了します。 2.[メッセージ] サブメニュー作成
アクションを2つ作ってサブメニューに追加します。
3.[ダイアログ] メニュー追加
アクションを5つ作り、上で作ったサブメニューと一緒にメニューに追加します。
4.[参考] メニュー追加
アクションを2つ作ってメニューに追加します。
5.ツールバーにメニュー項目を追加
2つのツールバーを作ってメニュー項目のアクションを追加します。
アクションにアイコンがなければツールバーには文字が表示されます。 ショートカットキーについてショートカットキーの指定 (未確認)
ショートカットキーは、setShortcutで指定できます。
menuAct1->setShortcut(tr("Ctrl+1")); テキスト内の"&"の直後の文字は ショートカットキー(Alt+文字)になります。
QMenu *fileMenu = menuBar()->addMenu(tr("&File")); QAction *exitAct = new QAction(tr("閉じる(&x)"), this); 行編集の場合は相棒のラベルに設定します。
QLineEdit *edit = new QLineEdit; ※1つのテキストに複数の&を指定しても、その中の1つしか割り当てられません。 ※同じキーを複数のテキストで指定すると、該当する処理を順番に行います。 ただし、キーを1回押すごとに1つの処理しか行いません。。 メニューのイベント処理イベント関数
イベント関数の宣言 (mainwindow.h)イベント関数 (mainwindow.cpp)1.情報表示
ウインドウの左上座標・サイズ・状態をメッセージボックスに表示します。
![]() 2.ファイルを開く
[ファイルを開く] ダイアログを表示して選択されたファイル名をデバッグ出力します。
![]() 3.名前を付けて保存
[名前を付けて保存] ダイアログを表示して入力されたファイル名をデバッグ出力します。
![]() 4.フォルダ選択
[フォルダ選択] ダイアログを表示して選択されたフォルダ名をデバッグ出力します。
![]() 5.色選択
[色選択] ダイアログを表示して選択された色の名前(#RRGGBB)をデバッグ出力します。
![]() 6.フォント選択
[フォント選択] ダイアログを表示して選択されたフォントの情報をデバッグ出力します。
![]() 7.警告メッセージ
警告アイコンのメッセージボックスを表示します。
![]() 8.確認メッセージ
質問アイコンのメッセージボックスを表示し、
結果を情報アイコンのメッセージボックスで表示します。
![]() 9.標準Pixmap一覧
Qtで定義されている0~95の標準Pixmapを一覧表示します。
![]() 10.標準カーソル
Qtで定義されている0~21の標準カーソルをテストします。 マウスカーソルを白枠の中に入れると番号のカーソルに変わります。 ![]() 11.ダイアログを閉じる
実行中のダイアログ(QDialog)を閉じて、戻り値=0でexecを終了します。
ステータスバーステータスバーについて
ステータスバーはすでに存在するので、文字を表示すると自動的に現れます。
ここでは右端にラベルを3つ作り、テキストと現在時刻と画像を表示します。 ![]() タイマー関連の宣言 (mainwindow.h)
タイマーのイベント関数とID、それから現在時刻を表示するラベルを宣言します。
ステータスバーの表示 (mainwindow.cpp)
画像は標準pixmapを使用します。タイマーは1秒間隔です。
タイマーのイベント処理 (mainwindow.cpp)
現在日時を取得して hh:mm に整形し、ラベルの内容と違っていたらセットします。
|
2016年12月
Copyright © 2016 dorafop All Rights Reserved.