QMenuBar

見出し


QMenuBar クラス

QMenuBar クラスは水平方向のメニューバーを提供します。
公式リファレンス

継承関係


プロパティ

defaultUp
  • 型 … bool
  • 説明
    • ポップアップする方向を保持するプロパティです。
    • この設定をtrueにした場合は、メニューは上方向にポップアップします。
    • メニューがスクリーンに収まらない場合は、メニューは他の方向に自動的にポップアップします。
  • デフォルト
    • デフォルトでは、メニューは下方向にポップアップします。
  • アクセサー
    • 取得 … bool isDefaultUp() const
    • 設定 … void setDefaultUp(bool)

nativeMenuBar
  • 型 … bool
  • 説明
    • メニューバーをサポートしているプラットフォームにおいて、ネイティブのメニューバーを使用するかどうかを保持するプロパティです。
    • 現在サポートされているプラットフォームはMacOS X及びWindows CEです。
    • これらのプラットフォームでこのプロパティがtrueの場合は、メニューバーはネイティブのメニューバーが使用されます。またメニューバーはその親ウィンドウ内には配置されません。
    • falseの場合は、メニューバーはウィンドウ内に配置されます。他のプラットフォームでこのプロパティを設定しても、効果はありません。
  • デフォルト
    • デフォルトでは、このアプリケーションに Qt::AA_DontUseNativeMenuBar 属性が設定されているかどうかに従います。
    • 明示的にこのプロパティを設定した場合はこの属性の存在は上書きされます。
  • アクセサー
    • 取得 … bool isNativeMenuBar() const
    • 設定 … void setNativeMenuBar(bool nativeMenuBar)

メンバ関数

コンストラクタ

QMenuBar::QMenuBar(QWidget * parent = 0)
  • 説明
    • 指定した親を持つメニューバーを作成します。
  • パラメータ
    • parent … このメニューバーを所持する親ウィジェット

デストラクタ

QMenuBar::~QMenuBar()
  • 説明
    • このメニューバーを破棄します。

メニューを取得する

+ ...
QAction * QMenuBar::actionAt(const QPoint & pt) const
  • 説明
    • このメニューバーの指定位置に存在するアクションを返します。
    • 位置はメニューバーを左上の頂点を原点とするピクセル座標で指定します。
  • パラメータ
    • pt … アクションを取得する位置
    • パラメータ … 説明
  • 返り値
    • 指定位置に存在するアクション
    • 指定位置にアクションが存在しない場合か、または指定位置が区切りである場合は、Nullを返します。
imageプラグインエラー : ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (QMenu_01.png)
この例でいくと
0 <= x < 32 かつ 0 <= y < 17 がfile
32 <= x < 69 かつ 0 <= y < 17 がhelp
それ以外はNull
  1. menuBar()->actionAt( QPoint(0, 0) ); //file
  2. menuBar()->actionAt( QPoint(20, 10) ); //file
  3. menuBar()->actionAt( QPoint(10, 17) ); //Null
  4. menuBar()->actionAt( QPoint(31, 0) ); //file
  5. menuBar()->actionAt( QPoint(32, 0) ); //help
  6. menuBar()->actionAt( QPoint(69,0) ); //Null

QWidget * QMenuBar::cornerWidget(Qt::Corner corner = Qt::TopRightCorner) const
  • 説明
    • 指定位置のメニューを取得します。
  • パラメータ
    • corner … メニューを取得する位置
      • Qt::TopLeftCorner を指定した場合は、メニューバーの左端にあるメニューを取得します。
      • Qt::TopRightCorner を指定した場合は、メニューバーの右端にあるメニューを取得します。
      • Qt::TopRightCorner または Qt::TopLeftCorner 以外の値を指定した場合は、エラーになります。
  • 返り値
    • 指定位置のメニュー

QRect QMenuBar::actionGeometry(QAction * act) const
  • 説明
    • 指定アクションのジオメトリを返します。
  • パラメータ
    • act … ジオメトリを取得するアクション
  • 返り値
    • 指定アクションのジオメトリ
      • 返り値の QRect オブジェクトの単位はピクセルです。
imageプラグインエラー : ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (QMenu_01.png)
  1. menuBar()->actionGeometry( act_file ); //QRect(0,0 32x17)
  2. menuBar()->actionGeometry( act_help ); //QRect(32,0 37x17)

メニューバーにメニューを追加する

+ ...
QAction * QMenuBar::addMenu(QMenu * menu)
  • 説明
    • 指定したメニューをこのメニューバーの末尾に追加します。
  • パラメータ
    • menu … 追加するメニュー
  • 返り値
    • 追加した QMenu オブジェクトの menuAction() の値を返します。

QMenu * QMenuBar::addMenu(const QString & title)
  • 説明
    • 指定したアイコン及びタイトルを持つ新しくメニューをこのメニューバーの末尾に追加します。
  • パラメータ
    • title … メニューのタイトル
  • 返り値
    • 追加したメニューを返します

QMenu * QMenuBar::addMenu(const QIcon & icon, const QString & title)
  • 説明
    • 指定タイトルを持つ新しいメニューをこのメニューバーの末尾に追加します。
  • パラメータ
    • icon … メニューのアイコン
    • title … メニューのタイトル
  • 返り値
    • 追加したメニューを返します

QAction * QMenuBar::insertMenu(QAction * before, QMenu * menu)
  • 説明
    • 指定したメニューをこのメニューバーの指定したアクションの前に挿入します。
  • パラメータ
    • before … このアクションの前にメニューを挿入します
    • menu … 挿入するメニュー
  • 返り値
    • 挿入したメニューを返します

メニューバーにアクションを追加する

+ ...
void QMenuBar::addAction(QAction * action)
  • 説明
    • 指定アクションをメニューバーの末尾に追加します。
  • パラメータ
    • action … 追加するアクション

QAction * QMenuBar::addAction(const QString & text)
  • 説明
    • 指定したテキストを持つアクションを新規作成してメニューバーに追加します。
  • パラメータ
    • text … アクションのテキスト
  • 返り値
    • 追加したアクションを返します

QAction * QMenuBar::addAction(const QString & text, const QObject * receiver, const char * member)
  • 説明
    • 指定したテキストを持つアクションを新規作成してメニューバーに追加します。
    • 作成したアクションの triggered() シグナルは receiver オブジェクトの member スロットと接続されます。
  • パラメータ
    • text … アクションのテキスト
    • receiver … 接続先のオブジェクト
    • member … 接続先のスロット
  • 返り値
    • 追加したアクションを返します

区切りを追加する

+ ...
QAction * QMenuBar::addSeparator()
  • 説明
    • このメニューバーの末尾に区切りを追加します。
  • 返り値
    • 追加した区切り

QAction * QMenuBar::insertSeparator(QAction * before)
  • 説明
    • 区切りをこのメニューバーの指定したアクションの前に挿入します。
  • パラメータ
    • before … このアクションの前に区切りを挿入します
  • 返り値
    • 挿入した区切り

メニューバーからアクションを削除する

void QMenuBar::clear()
  • 説明
    • このメニューバーからすべてのアクションを削除します。
  • 注意
    • MacOS Xでは注意が必要

再実装

+ ...
bool QMenuBar::eventFilter(QObject * object, QEvent * event) [virtual protected]
  • 説明
    • QObject::eventFilter() の再実装です。

QSize QMenuBar::sizeHint() const [virtual]
  • 説明
    • QWidget::sizeHint() の再実装です。

int QMenuBar::heightForWidth(int) const [virtual]
  • 説明
    • QWidget::heightForWidth() の再実装です。

ハイライトされたアクションを取得及び設定する

+ ...
ハイライトは、アクションをマウスオーバーするとなります。
QAction * QMenuBar::activeAction() const
  • 説明
    • 現在ハイライトされているアクションを返します。
  • 返り値
    • どのアクションもハイライトされていない場合は、Nullを返します。

void QMenuBar::setActiveAction(QAction * act)
  • 説明
    • 指定したアクションをハイライトします。
  • パラメータ
    • act … ハイライトするアクション

保留

void QMenuBar::initStyleOption(QStyleOptionMenuItem * option, const QAction * action) const [protected]
  • 説明
    • 保留
  • パラメータ
    • option … 説明
    • action … 説明
  • 注意
    • 保留

ウィジェットをメニューバーに追加する

void QMenuBar::setCornerWidget(QWidget * widget, Qt::Corner corner = Qt::TopRightCorner)
  • 説明
    • 指定したウィジェットをこのメニューバーの指定位置に追加します。
  • パラメータ
    • widget … 追加するウィジェット
    • corner … メニューを取得する位置
      • Qt::TopLeftCorner を指定した場合は、メニューバーの左端にあるメニューを取得します。
      • Qt::TopRightCorner を指定した場合は、メニューバーの右端にあるメニューを取得します。
      • Qt::TopRightCorner または Qt::TopLeftCorner 以外の値を指定した場合は、エラーになります。

一部のOSのみサポートされている機能

デフォルトアクションを取得及び設定する

+ ...
現在Windows Mobileでのみデフォルトアクションがサポートされています。
他のプラットフォームではこの関数は利用できません。

QAction * QMenuBar::defaultAction() const
  • 説明
    • 現在のデフォルトアクションを返します。
  • 返り値
    • 現在のデフォルトアクション

void QMenuBar::setDefaultAction(QAction * act)
  • 説明
    • 指定アクションをデフォルトアクションに設定します。
  • パラメータ
    • act … デフォルトアクションに設定するアクション

NSメニューに変換する

MacOS Xでのみ利用できます。
NSMenu * QMenuBar::toNSMenu()
  • 説明
    • このメニューをNSメニューに変換して返します。
  • 返り値
    • NSメニュー

シグナル

void QMenuBar::hovered(QAction * action) [signal]
  • 説明
    • このメニューバーのアクションにマウスオーバーした際に送出されます。
  • パラメータ
    • action … マウスオーバーされたアクション

void QMenuBar::triggered(QAction * action) [signal]
  • 説明
    • このメニューバーにあるメニューのアクションがマウスでクリックされた際に送出されます。
  • パラメータ
    • action … クリックされたアクション
  • 注意
    • 通常はメニューのアクションごとの QAction::triggered() シグナルをそれぞれの動作に対応したスロットに接続します。
    • このシグナルはこのメニューバーのメニューにあるすべてのアクションを一つのスロットにまとめて接続したい場合などに便利です。

スロット

void QMenuBar::setVisible(bool visible) [virtual slot]
  • 説明
    • QWidget::setVisible() の再実装です。

イベント

void QMenuBar::timerEvent(QTimerEvent * e) [virtual protected]
  • 説明
    • QObject::timerEvent() の再実装です。

void QMenuBar::keyPressEvent(QKeyEvent * e) [virtual protected]
  • 説明
    • QWidget::keyPressEvent() の再実装です。

void QMenuBar::leaveEvent(QEvent *) [virtual protected]
  • 説明
    • QWidget::leaveEvent() の再実装です。

QSize QMenuBar::minimumSizeHint() const [virtual]
  • 説明
    • QWidget::minimumSizeHint() の再実装です。

void QMenuBar::mouseMoveEvent(QMouseEvent * e) [virtual protected]
  • 説明
    • QWidget::mouseMoveEvent() の再実装です。

void QMenuBar::mousePressEvent(QMouseEvent * e) [virtual protected]
  • 説明
    • QWidget::mousePressEvent() の再実装です。

void QMenuBar::actionEvent(QActionEvent * e) [virtual protected]
  • 説明
    • QWidget::actionEvent() の再実装です。

void QMenuBar::mouseReleaseEvent(QMouseEvent * e) [virtual protected]
  • 説明
    • QWidget::mouseReleaseEvent() の再実装です。

void QMenuBar::paintEvent(QPaintEvent * e) [virtual protected]
  • 説明
    • QWidget::paintEvent() の再実装です。

void QMenuBar::resizeEvent(QResizeEvent *) [virtual protected]
  • 説明
    • QWidget::resizeEvent() の再実装です。

void QMenuBar::focusInEvent(QFocusEvent *) [virtual protected]
  • 説明
    • QWidget::focusInEvent() の再実装です。

void QMenuBar::focusOutEvent(QFocusEvent *) [virtual protected]
  • 説明
    • QWidget::focusOutEvent() の再実装です。

void QMenuBar::changeEvent(QEvent * e) [virtual protected]
  • 説明
    • QWidget::changeEvent() の再実装です。

bool QMenuBar::event(QEvent * e) [virtual protected]
  • 説明
    • QObject::event() の再実装です。

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2014年09月08日 23:49