Spec-Zone.ru › Qt 5.9

Тип QML меню

Нативное меню. Подробнее...

Заявление об импорте: import Qt.labs.platform 1.0
С момента: Qt 5.8
Наследует:

QtObject

  • Список всех членов, включая наследуемые

Свойства

  • data : список<Объект>
  • enabled : bool
  • font : шрифт
  • iconName : строка
  • iconSource : url
  • items : список<MenuItem>
  • menuBar : MenuBar
  • menuItem : MenuItem
  • minimumWidth : int
  • parentMenu : Меню
  • systemTrayIcon : SystemTrayIcon
  • title : строка
  • type : перечисление
  • visible : bool

Сигналы

  • void aboutToHide()
  • void aboutToShow()

Методы

  • void addItem(MenuItem item)
  • void addMenu(Menu submenu)
  • void clear()
  • void close()
  • void insertItem(int index, MenuItem item)
  • void insertMenu(int index, Menu submenu)
  • void open(Item target, MenuItem item)
  • void open(MenuItem item)
  • void removeItem(MenuItem item)
  • void removeMenu(Menu submenu)

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

Тип Menu предоставляет API QML для всплывающих меню платформы.

Меню можно использовать в MenuBar или в качестве самостоятельного контекстного меню. Следующий пример показывает, как открыть контекстное меню при нажатии правой кнопкой мыши:

MouseArea {
    anchors.fill: parent
    acceptedButtons: Qt.RightButton
    onClicked: zoomMenu.open()
}

Menu {
    id: zoomMenu

    MenuItem {
        text: qsTr("Zoom In")
        shortcut: StandardKey.ZoomIn
        onTriggered: zoomIn()
    }

    MenuItem {
        text: qsTr("Zoom Out")
        shortcut: StandardKey.ZoomOut
        onTriggered: zoomOut()
    }
}

Доступность

Нативные меню платформы в настоящее время доступны на следующих платформах:

  • macOS
  • iOS
  • Android
  • Linux (доступно только как самостоятельное контекстное меню при работе с темой платформы GTK+)

Модуль Qt Labs Platform использует Qt Widgets в качестве резервного варианта на платформах, на которых нет нативной реализации. Поэтому приложения, использующие типы из модуля Qt Labs Platform, должны подключаться к QtWidgets и использовать QApplication вместо QGuiApplication.

Чтобы подключиться к библиотеке QtWidgets, добавьте следующее в файл проекта qmake:

QT += widgets

Создайте экземпляр QApplication в main():

#include <QApplication>
#include <QQmlApplicationEngine>

int main(int argc, char *argv[])
{
    QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
    QApplication app(argc, argv);
    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
    return app.exec();
}

Примечание:Типы в модулях Qt.labs не гарантируют совместимость в будущих версиях.

См. также MenuItem, MenuSeparator и MenuBar.

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

[по умолчанию] data : список<Объект>

Это свойство по умолчанию содержит список всех объявленных в качестве дочерних элементов меню объектов. Свойство data включает объекты, которые не являются экземплярами MenuItem, такие как Таймер и QtObject.

См. также items.

enabled : bool

Это свойство определяет, включено ли меню. Значение по умолчанию — true.

font : шрифт

Это свойство содержит шрифт меню.

См. также текст.

iconName : строка

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

См. также iconSource и QIcon::fromTheme().

iconSource : url

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

См. также iconName.

items : список<MenuItem>

Это свойство содержит список элементов в меню.

[только для чтения] menuBar : MenuBar

Это свойство содержит панель меню, к которой принадлежит меню, или null если меню не находится на панели меню.

[только для чтения] menuItem : MenuItem

Это свойство содержит элемент, представляющий меню (в родительском меню).

minimumWidth : int

Это свойство содержит минимальную ширину меню. Значение по умолчанию — -1 (минимальная ширина отсутствует).

[только для чтения] parentMenu : Меню

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

[только для чтения] systemTrayIcon : SystemTrayIcon

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

title : строка

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

type : перечисление

Это свойство содержит тип меню.

Доступные значения:

Константа Описание
Menu.DefaultMenu Обычное меню (по умолчанию).
Menu.EditMenu Меню редактирования с предопределенными элементами вырезания, копирования и вставки.

visible : bool

Это свойство определяет, отображается ли меню. Значение по умолчанию — true.

Документация по сигналам

void aboutToHide()

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

void aboutToShow()

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

Документация по методам

void addItem(MenuItem item)

Добавляет item в конец меню.

void addMenu(Меню submenu)

Добавляет submenu в конец меню.

void clear()

Удаляет все элементы из меню.

void close()

Закрывает меню.

void insertItem(int index, MenuItem item)

Вставляет item в указанный index в меню.

void insertMenu(int index, Меню submenu)

Вставляет submenu в указанный index в меню.

void open(Item target, MenuItem item)

Открывает меню в указанном элементе target, при необходимости выравнивая по элементу меню item.

void open(MenuItem item)

Открывает меню в текущей позиции курсора мыши, при необходимости выравнивая по элементу меню item.

void removeItem(MenuItem item)

Удаляет элемент item из меню.

void removeMenu(Menu submenu)

Удаляет submenu из меню.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qml-qt-labs-platform-menu.html

Spec-Zone.ru

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