Вбудовані повідомлення
За допомогою вбудованих повідомлень реалізовано спосіб негайного сповіщення користувача щодо того, що сталося під час користування програмою.
Базове вбудоване повідомлення
У компонентів Kirigami.InlineMessage є дві важливих властивості, про які варто згадати:
- visible: типово, для цієї властивості встановлено значення false, отже повідомлення буде показано, лише якщо ви явно цього захочете. Якщо хочете, таку поведінку можна змінити встановленням значення true. Якщо для вбудованого повідомлення увімкнути видимість, користувач побачить чудову анімацію.
- text: тут можна встановити текст вашого вбудованого повідомлення.
import QtQuick
import QtQuick.Layouts
import QtQuick.Controls as Controls
import org.kde.kirigami as Kirigami
Kirigami.Page {
ColumnLayout {
Kirigami.InlineMessage {
id: inlineMessage
Layout.fillWidth: true
text: "Hello! I am a siiiiiiimple lil' inline message!"
}
Controls.Button {
text: "Show inline message!"
onClicked: inlineMessage.visible = !inlineMessage.visible
}
}
}
![Вікно, у якому показано кнопку, яка після натискання піднімає вбудоване повідомлення зі світло-синім тлом і текстом над ним у верхній частині вікна програми Вікно, у якому показано кнопку, яка після натискання піднімає вбудоване повідомлення зі світло-синім тлом і текстом над ним у верхній частині вікна програми](/docs/getting-started/kirigami/components-inlinemessages/inlinemessages-simple.png)
Інші типи
Стандартні вбудовані повідомлення подібні до показано вище: вони мають синє тло і типову піктограму. Змінити це можна за допомогою властивості type, яка надає нам змогу встановити для нашого вбудованого повідомлення інший тип. Передбачено чотири типи, одним з яких ми можемо скористатися:
- Інформування (
Kirigami.MessageType.Information
): стандартний. Має синє тло, піктограму «i» і використовується для оголошення про результат або сповіщення користувача про щось загальне. Цей тип не потрібно встановлювати вручну. - Позитивний (
Kirigami.MessageType.Positive
): має зелене тло, піктограму позначки і вказує на те, що щось виконано вдало. - Попередження (
Kirigami.MessageType.Warning
): має помаранчеве тло, піктограму знака оклику; можна скористатися для попередження користувача про те, що на щось слід звернути увагу. - Помилка (
Kirigami.MessageType.Error
): має червоне тло, піктограму-хрест; можна скористатися для повідомлення користувачеві про те, що щось не так.
ColumnLayout {
Kirigami.InlineMessage {
Layout.fillWidth: true
text: "Hello! Let me tell you something interesting!"
visible: true
}
Kirigami.InlineMessage {
Layout.fillWidth: true
text: "Hey! Let me tell you something positive!"
type: Kirigami.MessageType.Positive
visible: true
}
Kirigami.InlineMessage {
Layout.fillWidth: true
text: "Hmm... You should keep this in mind!"
type: Kirigami.MessageType.Warning
visible: true
}
Kirigami.InlineMessage {
Layout.fillWidth: true
text: "Argh!!! Something went wrong!!"
type: Kirigami.MessageType.Error
visible: true
}
}
![Вікно, у якому показано усі чотири типи вбудованих повідомлень синім, зеленим, помаранчевим та червоним кольором Вікно, у якому показано усі чотири типи вбудованих повідомлень синім, зеленим, помаранчевим та червоним кольором](/docs/getting-started/kirigami/components-inlinemessages/inlinemessages-types.png)
Налаштовування тексту і піктограм
У вбудованих повідомленнях передбачено підтримку форматування тексту, яку можна визначити за допомогою простої HTML-подібної розмітки. Це надає вам змогу додавати певне форматування до тексту ваших вбудованих повідомлень або навіть, якщо хочете, включити зовнішнє інтернет-посилання.
Kirigami.InlineMessage {
Layout.fillWidth: true
// Зауважте, що якщо ви використовуєте лапки у рядку, вам слід їх екранувати!
text: "Check out <a href=\"https://kde.org\">KDE's website!<a/>"
onLinkActivated: Qt.openUrlExternally(link)
visible: true
}
![Вбудоване повідомлення із форматованим текстом та гіперпосиланням Вбудоване повідомлення із форматованим текстом та гіперпосиланням](/docs/getting-started/kirigami/components-inlinemessages/inlinemessages-richtext.png)
Ви також можете налаштувати піктограму, яку буде показано у верхньому лівому куті повідомлення, вказавши назву загальносистемної піктограми у властивості icon.source. Ці назви піктограм відповідають піктограмам, які встановлено у системі; ви можете скористатися програмою, подібною до Cuttlefish з plasma-sdk, для перегляду і пошуку піктограм, які доступні у вашій системі, а також визначення їхніх назв.
Kirigami.InlineMessage {
Layout.fillWidth: true
text: "Look at me! I look SPECIAL!"
icon.source: "actor"
visible: true
}
![Вбудоване повідомлення із нетиповою піктограмою Вбудоване повідомлення із нетиповою піктограмою](/docs/getting-started/kirigami/components-inlinemessages/inlinemessages-icon.png)
Використання пунктів дій у вбудованих повідомленнях
Якщо ваші повідомлення мають бути інтерактивними, ви можете долучити до ваших вбудованих повідомлень кнопки дій Kirigami. Подібно до сторінок, ви можете зробити це встановленням властивості InlineMessage.actions вбудованого повідомлення у значення Kirigami.Action або у значення масиву, що містить компоненти Kirigami.Action.
ColumnLayout {
Kirigami.InlineMessage {
id: actionsMessage
Layout.fillWidth: true
visible: true
readonly property string initialText: "Something is hiding around here..."
text: initialText
actions: [
Kirigami.Action {
enabled: actionsMessage.text == actionsMessage.initialText
text: qsTr("Add text")
icon.name: "list-add"
onTriggered: {
actionsMessage.text = actionsMessage.initialText + " Peekaboo!";
}
},
Kirigami.Action {
enabled: actionsMessage.text != actionsMessage.initialText
text: qsTr("Reset text")
icon.name: "list-remove"
onTriggered: actionsMessage.text = actionsMessage.initialText
}
]
}
}
![Вбудоване повідомлення із двома пунктами дій Вбудоване повідомлення із двома пунктами дій](/docs/getting-started/kirigami/components-inlinemessages/inlinemessages-actions.png)
Кнопки закриття
До вбудованого повідомлення додається кнопка закриття, якою можна скористатися для прибирання панелей повідомлень.
Типово, цю кнопку закриття приховано, але таку поведінку можна перевизначити, встановивши для властивості showCloseButton значення true
.
Kirigami.InlineMessage {
Layout.fillWidth: true
text: "Please don't dismiss me..."
showCloseButton: true
visible: true
}
![Вбудоване повідомлення із кнопкою закриття праворуч від нього Вбудоване повідомлення із кнопкою закриття праворуч від нього](/docs/getting-started/kirigami/components-inlinemessages/inlinemessages-closebutton.png)