Работа с 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
}