見出し
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
menuBar()->actionAt( QPoint(0, 0) ); //file menuBar()->actionAt( QPoint(20, 10) ); //file menuBar()->actionAt( QPoint(10, 17) ); //Null menuBar()->actionAt( QPoint(31, 0) ); //file menuBar()->actionAt( QPoint(32, 0) ); //help 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
- 説明
- パラメータ
- 返り値
- 指定アクションのジオメトリ
- 返り値の QRect オブジェクトの単位はピクセルです。
- 例
imageプラグインエラー : ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (QMenu_01.png)
menuBar()->actionGeometry( act_file ); //QRect(0,0 32x17) menuBar()->actionGeometry( act_help ); //QRect(32,0 37x17)
|
メニューバーにメニューを追加する
+
|
... |
QAction * QMenuBar::addMenu(QMenu * menu)
- 説明
- 指定したメニューをこのメニューバーの末尾に追加します。
- パラメータ
- 返り値
- 追加した QMenu オブジェクトの menuAction() の値を返します。
QMenu * QMenuBar::addMenu(const QString & 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)
QAction * QMenuBar::addAction(const QString & 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()
- 説明
- このメニューバーからすべてのアクションを削除します。
- 注意
再実装
+
|
... |
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)
|
保留
void QMenuBar::initStyleOption(QStyleOptionMenuItem * option, const QAction * action) const [protected]
ウィジェットをメニューバーに追加する
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()
シグナル
void QMenuBar::hovered(QAction * action) [signal]
- 説明
- このメニューバーのアクションにマウスオーバーした際に送出されます。
- パラメータ
void QMenuBar::triggered(QAction * action) [signal]
- 説明
- このメニューバーにあるメニューのアクションがマウスでクリックされた際に送出されます。
- パラメータ
- 注意
- 通常はメニューのアクションごとの 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]
最終更新:2014年09月08日 23:49