見出し
QMenu クラス
QMenu クラスはメニュー、コンテキストメニュー及び他のポップアップメニューで使用するためのメニューを提供します。
公式リファレンス
継承関係
プロパティ
icon
- 型 … QIcon
- 説明
- このメニューのアイコンを保持します。
- menuAction() の QAction::icon プロパティと同じです。
- デフォルト
- デフォルトでは、アイコンは設定されていません。Nullの QIcon オブジェクトが設定されています。
- アクセサー
- 取得 … QIcon icon() const
- 設定 …void setIcon(const QIcon & icon)
separatorsCollapsible
- 型 … bool
- 説明
- このプロパティがtrueの場合は、このメニューの連続する2つ以上の区切りは一つだけ表示します。
- メニューの先頭及び末尾の区切りは表示しません。
- デフォルト
- アクセサー
- 取得 … bool separatorsCollapsible() const
- 設定 …void setSeparatorsCollapsible(bool collapse)
tearOffEnabled
- 型 … bool
- 説明
- デフォルト
- アクセサー
- 取得 … bool isTearOffEnabled() const
- 設定 …void setTearOffEnabled(bool)
title
- 型 … QString
- 説明
- このメニューのタイトルを保持します。
- menuAction() の QAction::text プロパティと同じです。
- アクセサー
- 取得 … QString title() const
- 設定 …void setTitle(const QString & title)
toolTipsVisible
- 型 … bool
- 説明
- このメニューのアクション項目にツールチップを表示するかどうかを保持します。
- デフォルト
- アクセサー
- 取得 … bool toolTipsVisible() const
- 設定 …void setToolTipsVisible(bool visible)
メンバ関数
コンストラクタ
QMenu::QMenu(QWidget * parent = 0)
- 説明
- パラメータ
- parent … このメニューを所持する親ウィジェット
- 注意
- ポップアップメニューはトップレベルのウィジェットですが、親を設定した場合は、親が破棄されるとこのメニューも破棄されてしまいます。
QMenu::QMenu(const [[QString]] & title, QWidget * parent = 0)
- 説明
- 指定した親及びタイトルを持つメニューを作成します。
- パラメータ
- title … このメニューのタイトル
- parent … このメニューを所持する親ウィジェット
- 注意
- ポップアップメニューはトップレベルのウィジェットですが、親を設定した場合は、親が破棄されるとこのメニューも破棄されてしまいます。
デストラクタ
QMenu::~QMenu()
メニューを取得する
+
|
... |
QAction * QMenu::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
QRect QMenu::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 * QMenu::addMenu(QMenu * menu)
- 説明
- このメニューに指定メニューをサブメニューとして追加します。
- パラメータ
- 返り値
- 追加した QMenu オブジェクトの menuAction() の値を返します。
QMenu * QMenu::addMenu(const QString & title)
- 説明
- このメニューに指定タイトルを持つメニューを新規作成して、サブメニューとして追加します。
- パラメータ
- 返り値
QMenu * QMenu::addMenu(const QIcon & icon, const QString & title)
- 説明
- このメニューに指定したアイコン及びタイトルを持つメニューを新規作成して、サブメニューとして追加します。
- パラメータ
- パラメータ
- icon … サブメニューのアイコン
- title … サブメニューのタイトル
- 返り値
QAction * QMenu::insertMenu(QAction * before, QMenu * menu)
- 説明
- 指定したメニューをこのメニューの指定したアクションの前にサブメニューとして挿入します。
- パラメータ
- before … このアクションの前にメニューを挿入します
- menu … 挿入するサブメニュー
- 返り値
|
メニューにアクションを追加する
+
|
... |
void QMenu::addAction(QAction * action)
QAction * QMenu::addAction(const QString & text)
- 説明
- 指定したテキストを持つアクションを新規作成してメニューに追加します。
- パラメータ
- 返り値
QAction * QMenu::addAction(const QIcon & icon, const QString & text)
- 説明
- 指定したアイコン及びテキストを持つアクションを新規作成してメニューに追加します。
- パラメータ
- icon … アクションのアイコン
- text … アクションのテキスト
- 返り値
QAction * QMenu::addAction(const QString & text, const QObject * receiver, const char * member, const QKeySequence & shortcut = 0)
- 説明
- 指定したテキスト及びショートカットを持つアクションを新規作成してメニューに追加します。
- 作成したアクションの triggered() シグナルは receiver オブジェクトの member スロットと接続されます。
- パラメータ
- text … アクションのテキスト
- receiver … 接続先のオブジェクト
- member … 接続先のスロット
- shortcut … アクションのショートカットキー
- 返り値
QAction * QMenu::addAction(const QIcon & icon, const QString & text, const QObject * receiver, const char * member, const QKeySequence & shortcut = 0)
- 説明
- 指定したアイコン、テキスト及びショートカットを持つアクションを新規作成してメニューに追加します。
- 作成したアクションの triggered() シグナルは receiver オブジェクトの member スロットと接続されます。
- パラメータ
- icon … アクションのアイコン
- text … アクションのテキスト
- receiver … 接続先のオブジェクト
- member … 接続先のスロット
- shortcut … アクションのショートカットキー
- 返り値
|
区切りを追加する
+
|
... |
QAction * QMenu::addSeparator()
- 説明
- 区切りを新規作成して、このメニューの末尾に追加します。
- 返り値
QAction * QMenu::addSection(const QString & text)
- 説明
- 指定したテキストを持つ区切りを新規作成して、このメニューの末尾に追加します。
- パラメータ
- 返り値
QAction * QMenu::addSection(const QIcon & icon, const QString & text)
- 説明
- 指定したアイコン及びテキストを持つ区切りを新規作成して、このメニューの末尾に追加します。
- パラメータ
- icon … 区切りのアイコン
- text … 区切りのテキスト
- 返り値
QAction * QMenu::insertSeparator(QAction * before)
- 説明
- 区切りを新規作成して、このメニューの指定したアクションの前に挿入します。
- パラメータ
- before … このアクションの前に区切りを挿入します
- 返り値
QAction * QMenu::insertSection(QAction * before, const QString & text)
- 説明
- 指定したテキストを持つ区切りを新規作成して、このメニューの指定したアクションの前に挿入します。
- パラメータ
- before … このアクションの前に区切りを挿入します
- text … 区切りのテキスト
- 返り値
QAction * QMenu::insertSection(QAction * before, const QIcon & icon, const QString & text)
- 説明
- 指定したテキスト及びアイコンを持つ区切りを新規作成して、このメニューの指定したアクションの前に挿入します。
- パラメータ
- before … このアクションの前に区切りを挿入します
- icon … 区切りのアイコン
- text … 区切りのテキスト
- 返り値
|
メニューからアクションを削除する
void QMenu::clear()
- 説明
- このメニューからすべてのアクションを削除します。
- メニューが所有している他のウィジェットで表示されていないアクションを削除します。
- 注意
メニューが空かどうかを調べる
bool QMenu::isEmpty() const
- 説明
- このメニューに表示できるアクションがひとつもない場合はtrue、そうでない場合はfalseを返します。
- 返り値
このメニューのアクションを取得する
QAction * QMenu::menuAction() const
かんすう
メニューの列数を取得する
QMenu::columnCount() const [protected]
- 説明
- メニューがスクリーンに収まらない場合は、収まるようにメニューを2列にするなどして表示します。その際の列数を返します。
- パラメータ
- 返り値
- 注意
- そうした場合にメニューのレイアウトをどのようにするかはプラットフォーム依存です。(Windows では複数行で表示されます)
ハイライトされたアクションを取得及び設定する
+
|
... |
ハイライトは、アクションをマウスオーバーするとなります。
QAction * QMenu::activeAction() const
- 説明
- 返り値
- どのアクションもハイライトされていない場合は、Nullを返します。
void QMenu::setActiveAction(QAction * act)
|
メニューを実行する
+
|
... |
QAction * QMenu::exec()
- 説明
- このメニューを同期的に表示します。
- exec(pos()) と同じです。
- 返り値
- メニューで選択されたアクションを返します。
- アクションが選択されなかった場合はNullを返します。(ユーザーがEscキーを押すなど)
QAction * QMenu::exec(const QPoint & p, QAction * action = 0)
- 説明
- このメニューを指定アクションが指定位置に現れるように同期的に表示します。
- パラメータ
- p … 指定アクションを表示する位置
- action … 指定位置に表示するアクション
- グローバル座標で指定します。
- ウィジェットのローカル座標をグローバル座標に変換するには、QWidget::mapToGlobal() を使用します。
- 返り値
- メニューで選択されたアクションを返します。
- アクションが選択されなかった場合はNullを返します。(ユーザーがEscキーを押すなど)
- 返り値以外にシグナルスロットでも選択したアクションを取得できます。
- 注意
- exec() または popup() を使用してメニューを配置した場合、メニューの現在の size() は信用できないことに注意してください。
- パフォーマンス上の理由で、メニューは必要な場合のみメニューに設定されているサイズを適用できます。多くの場合、大きさは異なっています。
- 代わりに、メニューの現在のコンテンツに依存する適切な大きさを計算するのに sizeHint() を使用できます。
QAction * QMenu::exec(QList<QAction *> actions, const QPoint & pos, QAction * at = 0, QWidget * parent = 0) [static]
- 説明
- 指定したアクションより構成されるメニューを同期的に表示します。
- 指定アクションが指定位置に現れるよう表示します。
- パラメータ
- actions … メニューに表示するアクション
- pos … 表示位置
- at … pos で指定した位置にこのアクションが現れるよう表示します
- 指定しなかった場合は、pos で指定した位置にメニューを表示します。
- parent … 表示するメニューの親ウィジェット
- pos 単独でメニューをどこへ表示するかを決めるのに不十分である場合、追加情報になります。(例 デュアルモニタ環境 または 親が QGraphicsView に埋め込まれている場合など)
- 返り値
- メニューで選択されたアクションを返します。
- アクションが選択されなかった場合はNullを返します。(ユーザーがEscキーを押すなど)
- 返り値以外にシグナルスロットでも選択したアクションを取得できます。
- 注意
- exec() または popup() を使用してメニューを配置した場合、メニューの現在の size() は信用できないことに注意してください。
- パフォーマンス上の理由で、メニューは必要な場合のみメニューに設定されているサイズを適用できます。多くの場合、大きさは異なっています。
- 代わりに、メニューの現在のコンテンツに依存する適切な大きさを計算するのに sizeHint() を使用できます。
void QMenu::popup(const QPoint & p, QAction * atAction = 0)
- 説明
- このメニューを指定アクションが指定位置に現れるように同期的に表示します。
- パラメータ
- p … 指定アクションを表示する位置
- action … 指定位置に表示するアクション
- グローバル座標で指定します。
- ウィジェットのローカル座標をグローバル座標に変換するには、QWidget::mapToGlobal() を使用します。
- 返り値
- メニューで選択されたアクションを返します。
- アクションが選択されなかった場合はNullを返します。(ユーザーがEscキーを押すなど)
- 返り値以外にシグナルスロットでも選択したアクションを取得できます。
- 注意
- exec() または popup() を使用してメニューを配置した場合、メニューの現在の size() は信用できないことに注意してください。
- パフォーマンス上の理由で、メニューは必要な場合のみメニューに設定されているサイズを適用できます。多くの場合、大きさは異なっています。
- 代わりに、メニューの現在のコンテンツに依存する適切な大きさを計算するのに sizeHint() を使用できます。
|
保留
void QMenu::hideTearOffMenu()
- 説明
- ユーザーのデスクトップからはみ出したメニューを強制的に隠します。
bool QMenu::isTearOffMenuVisible() const
- 説明
- メニューがちぎれた場合は2つ目のメニューをメニューの項目を新しいウィンドウに表示するために表示します。
- メニューがこのモードであり、表示できる場合はtrue、そうでない場合はfalseを返します。
保留
void QMenu::initStyleOption(QStyleOptionMenuItem * option, const QAction * action) const [protected]
再実装
[[QSize]] QMenu::sizeHint() const [virtual]
- 説明
- QWidget::sizeHint() の再実装です。
bool QMenu::focusNextPrevChild(bool next) [virtual protected]
- 説明
- QWidget::focusNextPrevChild() の再実装です。
一部のOSのみサポートされている機能
デフォルトアクションを取得及び設定する
+
|
... |
現在Windows Mobileでのみデフォルトアクションがサポートされています。
他のプラットフォームではこの関数は利用できません。
QAction * QMenu::defaultAction() const
void QMenu::setDefaultAction(QAction * act)
- 説明
- 指定アクションをデフォルトアクションに設定します。
- パラメータ
- act … デフォルトアクションに設定するアクション
|
NSメニューに変換する
MacOS Xでのみ利用できます。
NSMenu * QMenu::toNSMenu()
ドックメニューとして設定する
MacOS Xでのみ利用できます。
void QMenu::setAsDockMenu()
このメニューをドックメニューに設定します。
ドックメニューとは
アプリケーションのドックアイコンをクリックすることで利用できるメニューです。
シグナル
void QMenu::aboutToHide() [signal]
void QMenu::aboutToShow() [signal]
- 説明
- メニューがユーザーから見えるよう表示される前に送出されます。
void QMenu::hovered(QAction * action) [signal]
- 説明
- このメニューのアクションにマウスオーバーした際に送出されます。
- パラメータ
void QMenu::triggered(QAction * action) [signal]
- 説明
- このメニューにあるメニューのアクションがマウスでクリックされた際に送出されます。
- パラメータ
- 注意
- 通常はメニューのアクションごとの QAction::triggered() シグナルをそれぞれの動作に対応したスロットに接続します。
- このシグナルはこのメニューのメニューにあるすべてのアクションを一つのスロットにまとめて接続したい場合などに便利です。
スロット
void QMenu::setVisible(bool visible) [virtual slot]
- 説明
- QWidget::setVisible() の再実装です。
イベント
void QMenu::timerEvent([[QTimerEvent]] * e) [virtual protected]
- 説明
- QObject::timerEvent() の再実装です。
void QMenu::changeEvent([[QEvent]] * e) [virtual protected]
- 説明
- QWidget::changeEvent() の再実装です。
bool QMenu::event(QEvent * e) [virtual protected]
void QMenu::keyPressEvent(QKeyEvent * e) [virtual protected]
- 説明
- QWidget::keyPressEvent() の再実装です。
void QMenu::mouseMoveEvent(QMouseEvent * e) [virtual protected]
- 説明
- QWidget::mouseMoveEvent() の再実装です。
void QMenu::mousePressEvent(QMouseEvent * e) [virtual protected]
- 説明
- QWidget::mousePressEvent() の再実装です。
void QMenu::mouseReleaseEvent(QMouseEvent * e) [virtual protected]
- 説明
- QWidget::mouseReleaseEvent() の再実装です。
void QMenu::leaveEvent(QEvent *) [virtual protected]
- 説明
- QWidget::leaveEvent() の再実装です。
QSize QMenu::minimumSizeHint() const [virtual]
- 説明
- QWidget::minimumSizeHint() の再実装です。
void QMenu::actionEvent(QActionEvent * e) [virtual protected]
- 説明
- QWidget::actionEvent() の再実装です。
void QMenu::paintEvent(QPaintEvent * e) [virtual protected]
- 説明
- QWidget::paintEvent() の再実装です。
void QMenu::resizeEvent(QResizeEvent *) [virtual protected]
- 説明
- QWidget::resizeEvent() の再実装です。
void QMenu::focusInEvent(QFocusEvent *) [virtual protected]
- 説明
- QWidget::focusInEvent() の再実装です。
void QMenu::focusOutEvent(QFocusEvent *) [virtual protected]
- 説明
- QWidget::focusOutEvent() の再実装です。
void QMenu::wheelEvent(QWheelEvent * e) [virtual protected]
- 説明
- QWidget::wheelEvent() の再実装です。
void QMenu::hideEvent(QHideEvent *) [virtual protected]
- 説明
- QWidget::hideEvent() の再実装です。
最終更新:2014年09月09日 01:41