Spec-Zone.ru › Qt 5.13

Класс QMenu

Класс QMenu предоставляет виджет меню для использования в строках меню, контекстных меню и других всплывающих меню. Подробнее...

Заголовок: #include <QMenu>
qmake: QT += widgets
Наследует: QWidget
  • Список всех членов, включая унаследованные

Свойства

  • иконка : QIcon
  • разделителиСворачиваемые : bool
  • разрывВключен : bool
  • заголовок : QString
  • подсказкиВидимые : bool

Общедоступные функции

QMenu(const QString &title, QWidget *parent = nullptr)
QMenu(QWidget *parent = nullptr)
virtual ~QMenu()
QAction * actionAt(const QPoint &pt) const
QRect actionGeometry(QAction *act) const
QAction * activeAction() const
QAction * addAction(const QString &text)
QAction * addAction(const QIcon &icon, const QString &text)
QAction * addAction(const QString &text, const QObject *receiver, const char *member, const QKeySequence &shortcut = 0)
QAction * addAction(const QIcon &icon, const QString &text, const QObject *receiver, const char *member, const QKeySequence &shortcut = 0)
QAction * addAction(const QString &text, Functor functor, const QKeySequence &shortcut = ...)
QAction * addAction(const QString &text, const QObject *context, Functor functor, const QKeySequence &shortcut = 0)
QAction * addAction(const QIcon &icon, const QString &text, Functor functor, const QKeySequence &shortcut = ...)
QAction * addAction(const QIcon &icon, const QString &text, const QObject *context, Functor functor, const QKeySequence &shortcut = 0)
QAction * addMenu(QMenu *menu)
QMenu * addMenu(const QString &title)
QMenu * addMenu(const QIcon &icon, const QString &title)
QAction * addSection(const QString &text)
QAction * addSection(const QIcon &icon, const QString &text)
QAction * addSeparator()
void clear()
QAction * defaultAction() const
QAction * exec()
QAction * exec(const QPoint &p, QAction *action = nullptr)
void hideTearOffMenu()
QIcon icon() const
QAction * insertMenu(QAction *before, QMenu *menu)
QAction * insertSection(QAction *before, const QString &text)
QAction * insertSection(QAction *before, const QIcon &icon, const QString &text)
QAction * insertSeparator(QAction *before)
bool isEmpty() const
bool isTearOffEnabled() const
bool isTearOffMenuVisible() const
QAction * menuAction() const
void popup(const QPoint &p, QAction *atAction = nullptr)
bool separatorsCollapsible() const
void setActiveAction(QAction *act)
void setAsDockMenu()
void setDefaultAction(QAction *act)
void setIcon(const QIcon &icon)
void setSeparatorsCollapsible(bool collapse)
void setTearOffEnabled(bool)
void setTitle(const QString &title)
void setToolTipsVisible(bool visible)
void showTearOffMenu(const QPoint &pos)
void showTearOffMenu()
QString title() const
NSMenu * toNSMenu()
bool toolTipsVisible() const

Реализованные общедоступные функции

virtual QSize sizeHint() const override

Сигналы

void aboutToHide()
void aboutToShow()
void hovered(QAction *action)
void triggered(QAction *action)

Статические публичные члены

QAction * exec(QList<QAction *> actions, const QPoint &pos, QAction *at = nullptr, QWidget *parent = nullptr)

Защищенные функции

int columnCount() const
void initStyleOption(QStyleOptionMenuItem *option, const QAction *action) const

Переопределенные защищенные функции

virtual void actionEvent(QActionEvent *e) override
virtual void changeEvent(QEvent *e) override
virtual void enterEvent(QEvent *) override
virtual bool event(QEvent *e) override
virtual bool focusNextPrevChild(bool next) override
virtual void hideEvent(QHideEvent *) override
virtual void keyPressEvent(QKeyEvent *e) override
virtual void leaveEvent(QEvent *) override
virtual void mouseMoveEvent(QMouseEvent *e) override
virtual void mousePressEvent(QMouseEvent *e) override
virtual void mouseReleaseEvent(QMouseEvent *e) override
virtual void paintEvent(QPaintEvent *e) override
virtual void timerEvent(QTimerEvent *e) override
virtual void wheelEvent(QWheelEvent *e) override

Подробное описание

Виджет меню — это выпадающее меню. Он может быть либо выпадающим меню в строке меню, либо отдельным контекстным меню. Выпадающие меню отображаются строкой меню, когда пользователь щелкает по соответствующему пункту или нажимает указанную сочетание клавиш. Используйте QMenuBar::addMenu() для добавления меню в строку меню. Контекстные меню обычно вызываются с помощью какой-либо специальной клавиши или щелчком правой кнопкой мыши. Их можно выполнить асинхронно с помощью popup() или синхронно с помощью exec(). Меню также можно вызвать в ответ на нажатие кнопок; они похожи на контекстные меню, за исключением того, как они вызываются.

Действия

Меню состоит из списка пунктов действий. Действия добавляются с помощью функций addAction(), addActions() и insertAction(). Действие отображается вертикально и отрисовывается с помощью QStyle. Кроме того, действия могут иметь текстовую метку, необязательный значок, нарисованный слева, и последовательность сочетаний клавиш, например "Ctrl+X".

Существующие действия, содержащиеся в меню, можно найти с помощью actions().

Существует четыре типа пунктов действий: разделители, действия, которые показывают подменю, виджеты и действия, которые выполняют действие. Разделители вставляются с помощью addSeparator(), подменю с помощью addMenu(), а все остальные пункты считаются пунктами действия.

При вставке пунктов действий вы обычно указываете получателя и слот. Получатель будет уведомлен всякий раз, когда элемент triggered(). Кроме того, QMenu предоставляет два сигнала: triggered() и hovered(), которые сигнализируют о QAction, который был вызван из меню.

Очистить меню можно с помощью clear(), а отдельные пункты действия удаляются с помощью removeAction().

QMenu также может предоставлять открепляемое меню. Открепляемое меню — это окно верхнего уровня, которое содержит копию меню. Это позволяет пользователю «открепить» часто используемые меню и разместить их в удобном месте на экране. Если вы хотите получить эту функциональность для определенного меню, вставьте открепляемую ручку с помощью setTearOffEnabled(). При использовании открепляемых меню следует учитывать, что этот термин не используется в Microsoft Windows, поэтому некоторые пользователи могут с ним не знакомы. Вместо этого можно использовать QToolBar.

Виджеты могут быть вставлены в меню с помощью класса QWidgetAction. Экземпляры этого класса используются для хранения виджетов, и они вставляются в меню с помощью перегрузки addAction(), которая принимает QAction.

Обратно, действия могут быть добавлены к виджетам с помощью функций addAction(), addActions() и insertAction().

Предупреждение: чтобы сделать QMenu видимым на экране, следует использовать exec() или popup() вместо show().

QMenu на macOS с Qt, скомпилированным для Cocoa

QMenu может быть вставлен только один раз в меню/строке меню. Последующие вставки не будут иметь никакого эффекта или приведут к отключению пункта меню.

См. пример Menus, чтобы узнать, как использовать QMenuBar и QMenu в вашем приложении.

Важные унаследованные функции: addAction(), removeAction(), clear(), addSeparator() и addMenu().

См. также QMenuBar, GUI Design Handbook: Menu, Drop-Down and Pop-Up, Application Example и Menus Example.

END_OF_DOCUMENT_MARKER

Документация свойств

icon : QIcon

Это свойство содержит значок меню.

Это эквивалентно свойству QAction::icon действия menuAction().

По умолчанию, если значок не задан явно, это свойство содержит нулевой значок.

Функции доступа:

QIcon icon() const
void setIcon(const QIcon &icon)

separatorsCollapsible : bool

Это свойство определяет, следует ли сворачивать последовательные разделители.

Это свойство указывает, следует ли визуально сворачивать последовательные разделители в меню до одного. Разделители в начале или в конце меню также скрываются.

По умолчанию, это свойство равно true.

Это свойство было добавлено в Qt 4.2.

Функции доступа:

bool separatorsCollapsible() const
void setSeparatorsCollapsible(bool collapse)

tearOffEnabled : bool

Это свойство указывает, поддерживает ли меню отрыв.

При значении true меню содержит специальный элемент отрыва (часто отображаемый как пунктирная линия в верхней части меню), который создает копию меню при его срабатывании.

Эта "оторванная" копия отображается в отдельном окне. Она содержит те же элементы меню, что и исходное меню, за исключением ручки отрыва.

По умолчанию, это свойство равно false.

Функции доступа:

bool isTearOffEnabled() const
void setTearOffEnabled(bool)

title : QString

Это свойство содержит заголовок меню.

Это эквивалентно свойству QAction::text действия menuAction().

По умолчанию, это свойство содержит пустую строку.

Функции доступа:

QString title() const
void setTitle(const QString &title)

toolTipsVisible : bool

Это свойство определяет, должны ли быть видимыми всплывающие подсказки действий меню.

Это свойство указывает, должны ли элементы меню действия показывать свои всплывающие подсказки.

По умолчанию, это свойство равно false.

Это свойство было добавлено в Qt 5.1.

Функции доступа:

bool toolTipsVisible() const
void setToolTipsVisible(bool visible)

Документация функций-членов

QMenu::QMenu(const QString &title, QWidget *parent = nullptr)

Создаёт меню с заданным title и parent.

Хотя всплывающее меню всегда является виджетом верхнего уровня, если указан родительский виджет, всплывающее меню будет удалено при уничтожении этого родительского виджета (как и любой другой QObject).

См. также title.

QMenu::QMenu(QWidget *parent = nullptr)

Создаёт меню с родителем parent.

Хотя всплывающее меню всегда является виджетом верхнего уровня, если указан родительский виджет, всплывающее меню будет удалено при уничтожении этого родительского виджета (как и любой другой QObject).

[signal] void QMenu::aboutToHide()

Этот сигнал подаётся перед скрытием меню для пользователя.

Эта функция была добавлена в Qt 4.2.

См. также aboutToShow() и hide().

[signal] void QMenu::aboutToShow()

Этот сигнал подаётся перед отображением меню для пользователя.

См. также aboutToHide() и show().

[signal] void QMenu::hovered(QAction *action)

Этот сигнал подаётся, когда действие меню выделено; action — действие, вызвавшее сигнал.

Часто используется для обновления статусной информации.

См. также triggered() и QAction::hovered().

[signal] void QMenu::triggered(QAction *action)

Этот сигнал подаётся при срабатывании действия в этом меню.

action — действие, вызвавшее сигнал.

Обычно вы подключаете сигнал triggered() каждого действия меню к своему пользовательскому слоту, но иногда вам захочется подключить несколько действий к одному слоту, например, когда у вас есть группа тесно связанных действий, таких как "выравнивание по левому краю", "по центру", "выравнивание по правому краю".

Примечание: Этот сигнал подаётся для основного родительского меню в иерархии. Следовательно, подключать слот нужно только к родительскому меню; дочерние меню подключать не нужно.

См. также hovered() и QAction::triggered().

[virtual] QMenu::~QMenu()

Уничтожает меню.

QAction *QMenu::actionAt(const QPoint &pt) const

Возвращает элемент в позиции pt; возвращает nullptr если элемента нет.

[override virtual protected] void QMenu::actionEvent(QActionEvent *e)

Переопределяет: QWidget::actionEvent(QActionEvent *event).

QRect QMenu::actionGeometry(QAction *act) const

Возвращает геометрию действия act.

QAction *QMenu::activeAction() const

Возвращает текущее выделенное действие или nullptr если действие не выделено.

См. также setActiveAction().

QAction *QMenu::addAction(const QString &text)

Эта удобная функция создаёт новое действие с текстом text. Функция добавляет созданное действие в список действий меню и возвращает его.

QMenu принимает во владение возвращаемое QAction.

См. также QWidget::addAction().

QAction *QMenu::addAction(const QIcon &icon, const QString &text)

Это перегруженная функция.

Эта удобная функция создаёт новое действие с иконкой icon и текстом text. Функция добавляет созданное действие в список действий меню и возвращает его.

QMenu принимает во владение возвращаемое QAction.

См. также QWidget::addAction().

QAction *QMenu::addAction(const QString &text, const QObject *receiver, const char *member, const QKeySequence &shortcut = 0)

Это перегруженная функция.

Эта удобная функция создаёт новое действие с текстом text и необязательной комбинацией клавиш shortcut. Сигнал triggered() действия подключается к слоту member объекта receiver. Функция добавляет созданное действие в список действий меню и возвращает его.

QMenu принимает во владение возвращаемое QAction.

См. также QWidget::addAction().

QAction *QMenu::addAction(const QIcon &icon, const QString &text, const QObject *receiver, const char *member, const QKeySequence &shortcut = 0)

Это перегруженная функция.

Эта вспомогательная функция создаёт новое действие с иконкой, некоторым текстом и необязательным сочетанием клавиш shortcut. Сигнал triggered() действия подключается к слоту member объекта receiver. Функция добавляет созданное действие в список действий меню и возвращает его.

QMenu принимает во владение возвращённое QAction.

См. также QWidget::addAction().

QAction *QMenu::addAction(const QString &text, Functor functor, const QKeySequence &shortcut = ...)

Это перегруженная функция.

Эта вспомогательная функция создаёт новое действие с текстом text и необязательным сочетанием клавиш shortcut. Сигнал triggered() действия подключается к functor. Функция добавляет созданное действие в список действий меню и возвращает его.

QMenu принимает во владение возвращённое QAction.

Эта функция была добавлена в Qt 5.6.

QAction *QMenu::addAction(const QString &text, const QObject *context, Functor functor, const QKeySequence &shortcut = 0)

Это перегруженная функция.

Эта вспомогательная функция создаёт новое действие с текстом text и необязательным сочетанием клавиш shortcut. Сигнал triggered() действия подключается к functor. Функтор может быть указателем на член-функцию объекта context. Созданное действие добавляется в список действий меню, и на него возвращается указатель.

Если объект context уничтожен, функция functor не будет вызвана.

QMenu принимает во владение возвращённое QAction.

Эта функция была добавлена в Qt 5.6.

QAction *QMenu::addAction(const QIcon &icon, const QString &text, Functor functor, const QKeySequence &shortcut = ...)

Это перегруженная функция.

Эта вспомогательная функция создаёт новое действие с иконкой и текстом и необязательным сочетанием клавиш shortcut. Сигнал triggered() действия подключается к functor. Функция добавляет созданное действие в список действий меню и возвращает его.

QMenu принимает во владение возвращённое QAction.

Эта функция была добавлена в Qt 5.6.

QAction *QMenu::addAction(const QIcon &icon, const QString &text, const QObject *context, Functor functor, const QKeySequence &shortcut = 0)

Это перегруженная функция.

Эта вспомогательная функция создаёт новое действие с иконкой и текстом и необязательным сочетанием клавиш shortcut. Сигнал triggered() действия подключается к functor. Функтор может быть указателем на член-функцию объекта context. Созданное действие добавляется в список действий меню, и на него возвращается указатель.

Если context уничтожен, функция functor не будет вызвана.

QMenu принимает во владение возвращённое QAction.

Эта функция была добавлена в Qt 5.6.

QAction *QMenu::addMenu(QMenu *menu)

Эта вспомогательная функция добавляет menu как подменю к данному меню. Возвращает menuAction() подменю. Это меню не принимает во владение menu.

См. также QWidget::addAction() и QMenu::menuAction().

QMenu *QMenu::addMenu(const QString &title)

Добавляет новое QMenu с title в меню. Меню принимает во владение новое подменю. Возвращает новое подменю.

См. также QWidget::addAction() и QMenu::menuAction().

QMenu *QMenu::addMenu(const QIcon &icon, const QString &title)

Добавляет новое QMenu с иконкой и title в меню. Меню принимает во владение новое подменю. Возвращает новое подменю.

См. также QWidget::addAction() и QMenu::menuAction().

QAction *QMenu::addSection(const QString &text)

Эта вспомогательная функция создаёт действие раздела, т.е. действие с QAction::isSeparator() равным true, но также имеющим подсказку text, и добавляет его в список действий этого меню. Возвращает созданное действие.

Отображение подсказки зависит от стиля и платформы. Стили виджетов могут использовать информацию о тексте при отрисовке разделов или игнорировать её и отрисовывать разделы как простые разделители.

QMenu принимает во владение возвращённое QAction.

Эта функция была добавлена в Qt 5.1.

См. также QWidget::addAction().

QAction *QMenu::addSection(const QIcon &icon, const QString &text)

Эта вспомогательная функция создаёт действие раздела, т.е. действие с QAction::isSeparator() равным true, но также имеющим подсказки text и icon, и добавляет его в список действий этого меню. Возвращает созданное действие.

Отображение подсказок зависит от стиля и платформы. Стили виджетов могут использовать информацию о тексте и иконке при отрисовке разделов или игнорировать её и отрисовывать разделы как простые разделители.

QMenu принимает во владение возвращённое QAction.

Эта функция была добавлена в Qt 5.1.

См. также QWidget::addAction().

QAction *QMenu::addSeparator()

Эта вспомогательная функция создаёт действие разделителя, т.е. действие с QAction::isSeparator() равным true, и добавляет его в список действий этого меню. Возвращает созданное действие.

QMenu принимает во владение возвращённое QAction.

См. также QWidget::addAction().

[override virtual protected] void QMenu::changeEvent(QEvent *e)

Переопределяет: QWidget::changeEvent(QEvent *event).

void QMenu::clear()

Удаляет все действия меню. Действия, принадлежащие меню и не отображаемые в других виджетах, удаляются.

См. также removeAction().

[protected] int QMenu::columnCount() const

Если меню не помещается на экране, оно выстраивается таким образом, чтобы поместиться. Способ выстраивания зависит от стиля (например, в Windows используется несколько столбцов).

Эта функция возвращает необходимое количество столбцов.

QAction *QMenu::defaultAction() const

Возвращает текущее по умолчанию действие.

См. также setDefaultAction().

[override virtual protected] void QMenu::enterEvent(QEvent *)

Переопределяет: QWidget::enterEvent(QEvent *event).

[override virtual protected] bool QMenu::event(QEvent *e)

Переопределяет: QWidget::event(QEvent *event).

QAction *QMenu::exec()

Выполняет это меню синхронно.

Это эквивалентно exec(pos()).

Возвращает нажатое QAction в всплывающем меню или одном из его подменю, или nullptr если ни один элемент не был нажат (обычно, потому что пользователь нажал Esc).

В большинстве случаев вы захотите указать позицию самостоятельно, например, текущую позицию курсора мыши:

exec(QCursor::pos());

или, выровненную относительно виджета:

exec(somewidget.mapToGlobal(QPoint(0,0)));

или в ответ на QMouseEvent *e:

exec(e->globalPos());

QAction *QMenu::exec(const QPoint &p, QAction *action = nullptr)

Это перегруженная функция.

Выполняет это меню синхронно.

Выводит меню так, что действие action будет в указанной глобальной позиции p. Для преобразования локальных координат виджета в глобальные используйте QWidget::mapToGlobal().

Это возвращает вызванное QAction в всплывающем меню или одном из его подменю, или nullptr если элемент не был вызван (обычно потому, что пользователь нажал Esc).

Обратите внимание, что все сигналы генерируются как обычно. Если вы подключите QAction к слоту и вызовете exec() меню, вы получите результат как через подключение сигнал-слот, так и в возвращаемом значении exec().

Общим случаем использования является позиционирование меню в текущей позиции мыши:

exec(QCursor::pos());

или выравнивание к виджету:

exec(somewidget.mapToGlobal(QPoint(0, 0)));

или в ответ на QMouseEvent *e:

exec(e->globalPos());

При позиционировании меню с помощью exec() или popup() помните, что вы не можете полагаться на текущий размер размера меню. По соображениям производительности, меню адаптирует свой размер только по необходимости. Поэтому во многих случаях размер до и после отображения отличается. Вместо этого используйте sizeHint(), который рассчитывает правильный размер в зависимости от текущего содержимого меню.

См. также popup() и QWidget::mapToGlobal().

[static] QAction *QMenu::exec(QList<QAction *> actions, const QPoint &pos, QAction *at = nullptr, QWidget *parent = nullptr)

Это перегруженный метод.

Выполняет меню синхронно.

Действия меню задаются списком actions. Меню появится так, что указанное действие at отобразится в глобальной позиции pos. Если at не указан, меню появляется в позиции pos. parent — родительский виджет меню; указание родителя предоставит контекст, когда pos сам по себе недостаточно для определения места расположения меню (например, с несколькими рабочими столами или когда родитель встроен в QGraphicsView).

Функция возвращает вызванное QAction в всплывающем меню или одном из его подменю, или nullptr если ни один элемент не был вызван (обычно потому, что пользователь нажал Esc).

Это эквивалентно:

QMenu menu;
QAction *at = actions[0]; // Assumes actions is not empty
for (QAction *a : qAsConst(actions))
    menu.addAction(a);
menu.exec(pos, at);

См. также popup() и QWidget::mapToGlobal().

[override virtual protected] bool QMenu::focusNextPrevChild(bool next)

Переопределяет: QWidget::focusNextPrevChild(bool next).

[override virtual protected] void QMenu::hideEvent(QHideEvent *)

Переопределяет: QWidget::hideEvent(QHideEvent *event).

void QMenu::hideTearOffMenu()

Эта функция принудительно скрывает оторванное меню, скрывая его с рабочего стола пользователя.

См. также showTearOffMenu(), isTearOffMenuVisible() и isTearOffEnabled().

[protected] void QMenu::initStyleOption(QStyleOptionMenuItem *option, const QAction *action) const

Инициализирует option значениями из этого меню и информацией из action. Этот метод полезен для подклассов, когда им нужен QStyleOptionMenuItem, но они не хотят заполнять всю информацию самостоятельно.

См. также QStyleOption::initFrom() и QMenuBar::initStyleOption().

QAction *QMenu::insertMenu(QAction *before, QMenu *menu)

Эта вспомогательная функция вставляет menu перед действием before и возвращает menuAction() меню.

См. также QWidget::insertAction() и addMenu().

QAction *QMenu::insertSection(QAction *before, const QString &text)

Эта вспомогательная функция создает новое действие заголовка, т.е. действие с QAction::isSeparator(), возвращающим true, но также имеющим подсказку text. Функция вставляет созданное действие в список действий этого меню перед действием before и возвращает его.

Отображение подсказки зависит от стиля и платформы. Стили виджетов могут использовать информацию о тексте при отображении разделов или игнорировать её и отображать разделы как простые разделители.

QMenu принимает во владение возвращаемое QAction.

Эта функция была добавлена в Qt 5.1.

См. также QWidget::insertAction() и addSection().

QAction *QMenu::insertSection(QAction *before, const QIcon &icon, const QString &text)

Эта вспомогательная функция создаёт новое действие заголовка, т.е. действие с QAction::isSeparator(), возвращающим true, но также содержащее подсказки text и icon. Функция вставляет созданное действие в список действий этого меню перед действием before и возвращает его.

Отображение подсказок зависит от стиля и платформы. Стили виджетов могут использовать информацию о тексте и значке при отображении разделов или игнорировать её и отображать разделы как простые разделители.

QMenu принимает во владение возвращаемое QAction.

Эта функция была добавлена в Qt 5.1.

См. также QWidget::insertAction() и addSection().

QAction *QMenu::insertSeparator(QAction *before)

Эта вспомогательная функция создаёт новое разделительное действие, т.е. действие с QAction::isSeparator(), возвращающим true. Функция вставляет созданное действие в список действий этого меню перед действием before и возвращает его.

QMenu принимает во владение возвращаемое QAction.

См. также QWidget::insertAction() и addSeparator().

bool QMenu::isEmpty() const

Возвращает true если в меню нет видимых действий, в противном случае false.

Эта функция была добавлена в Qt 4.2.

См. также QWidget::actions().

bool QMenu::isTearOffMenuVisible() const

Когда меню оторвано, отображается второе меню для отображения содержимого меню в новом окне. Если меню в этом режиме и оно видимо, возвращает true; в противном случае false.

См. также showTearOffMenu(), hideTearOffMenu() и isTearOffEnabled().

[override virtual protected] void QMenu::keyPressEvent(QKeyEvent *e)

Переопределяет: QWidget::keyPressEvent(QKeyEvent *event).

[override virtual protected] void QMenu::leaveEvent(QEvent *)

Переопределяет: QWidget::leaveEvent(QEvent *event).

QAction *QMenu::menuAction() const

Возвращает действие, связанное с этим меню.

[override virtual protected] void QMenu::mouseMoveEvent(QMouseEvent *e)

Переопределяет: QWidget::mouseMoveEvent(QMouseEvent *event).

[override virtual protected] void QMenu::mousePressEvent(QMouseEvent *e)

Переопределяет: QWidget::mousePressEvent(QMouseEvent *event).

[override virtual protected] void QMenu::mouseReleaseEvent(QMouseEvent *e)

Переопределяет: QWidget::mouseReleaseEvent(QMouseEvent *event).

[override virtual protected] void QMenu::paintEvent(QPaintEvent *e)

Переопределяет: QWidget::paintEvent(QPaintEvent *event).

void QMenu::popup(const QPoint &p, QAction *atAction = nullptr)

Отображает меню таким образом, что действие atAction будет в указанной глобальной позиции p. Для преобразования локальных координат виджета в глобальные координаты используйте QWidget::mapToGlobal().

При позиционировании меню с помощью exec() или popup(), помните, что вы не можете полагаться на текущий размер размера меню. По соображениям производительности меню адаптирует свой размер только по мере необходимости, поэтому в большинстве случаев размер до и после отображения будет отличаться. Вместо этого используйте sizeHint(), который рассчитывает правильный размер в зависимости от текущего содержимого меню.

См. также QWidget::mapToGlobal() и exec().

void QMenu::setActiveAction(QAction *act)

Устанавливает выделенный в данный момент action в act.

См. также activeAction().

void QMenu::setAsDockMenu()

Устанавливает это меню в качестве меню панели инструментов, доступного при нажатии клавиши Option на значке панели инструментов приложения. Доступно только на macOS.

Эта функция была добавлена в Qt 5.2.

void QMenu::setDefaultAction(QAction *act)

Устанавливает действие по умолчанию в act. Действие по умолчанию может иметь визуальный индикатор, в зависимости от текущего QStyle. Действие по умолчанию обычно указывает, что произойдёт по умолчанию при падении.

См. также defaultAction().

void QMenu::showTearOffMenu(const QPoint &pos)

Эта функция принудительно отобразит вырванное меню, разместив его на рабочем столе в указанных глобальных координатах pos.

Эта функция была добавлена в Qt 5.7.

См. также hideTearOffMenu(), isTearOffMenuVisible() и isTearOffEnabled().

void QMenu::showTearOffMenu()

Это перегруженная функция.

Эта функция принудительно отобразит вырванное меню, разместив его на рабочем столе под курсором мыши.

Эта функция была добавлена в Qt 5.7.

См. также hideTearOffMenu(), isTearOffMenuVisible() и isTearOffEnabled().

[override virtual] QSize QMenu::sizeHint() const

Переопределяет: QWidget::sizeHint() const.

[override virtual protected] void QMenu::timerEvent(QTimerEvent *e)

Переопределяет: QObject::timerEvent(QTimerEvent *event).

NSMenu *QMenu::toNSMenu()

Возвращает родной объект NSMenu для этого меню. Доступно только на macOS.

Примечание: Qt устанавливает делегат на родном меню. Если вам нужно установить свой собственный делегат, убедитесь, что вы сохранили исходный и перенаправляете любые вызовы к нему.

Эта функция была добавлена в Qt 5.2.

[override virtual protected] void QMenu::wheelEvent(QWheelEvent *e)

Переопределяет: QWidget::wheelEvent(QWheelEvent *event).

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qmenu.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API