Работа с Action

Представляет абстракцию для действия с информацией о наименовании, иконке, шорткате и сигнале на срабатывание

Применение с ToolButton

Action {

id: findAction

text: i18n("&Find")

icon.source: Rosa.Theme.icon("16/search-dark")

shortcut: StandardKey.Find

onTriggered: {

// логика

}

}


ToolButton {

action: findAction

}

Применение с Menu

Menu {

Action {

text: i18n("&Find")

onTriggered: {

// логика

}

}

MenuItem {

text: i18n("Item 2")

}

}

Применение с PageHeader

В примере используется свойство isEditMode для того, чтобы скрыть элемент заголовка. PageHeader поддерживает свойство Action.visible.

import QtQuick 2.15

import QtQuick.Controls 2.15

import QtQuick.Layouts 1.15


import RosaTheme 1.0 as Rosa

import RosaControls 1.0


Page {

id: root

title: "Page"

property bool isEditMode: false


header: PageHeader {

title: root.title



Action {

icon.source: Rosa.Theme.icon('24/copy_tab-dark')

onTriggered: {

// логика

}

}


Action {

icon.source: Rosa.Theme.icon(_header.dark ? '24/trash' : '24/trash-color')

text: i18n('Удалить')

dangerous: true // применение dangerous, текст меню станет красным

onTriggered: {

// логика

}

}


Action {

text: i18n("Отмена")

visible: root.isEditMode

onTriggered: {

// логика

}

}


contextMenu: ContextMenu {


Action {

text: "Item 1"

}


Action {

text: "Item 1"

}


Action {

text: i18n("Удалить")


onTriggered: {

// логика

}

}

}

}


// ... content


}