FluentUI/example/qml-Qt6/page/T_Dialog.qml

233 lines
6.8 KiB
QML
Raw Normal View History

2023-08-24 15:50:37 +08:00
import QtQuick
import QtQuick.Layouts
import QtQuick.Window
import QtQuick.Controls
import FluentUI
2024-01-25 17:26:50 +08:00
import "../component"
2023-08-24 15:50:37 +08:00
FluScrollablePage{
2024-03-09 15:35:48 +08:00
title: qsTr("Dialog")
2023-08-24 15:50:37 +08:00
FluArea{
Layout.fillWidth: true
height: 68
paddings: 10
Layout.topMargin: 20
FluButton{
anchors.verticalCenter: parent.verticalCenter
2024-03-09 15:35:48 +08:00
text: qsTr("Show Double Button Dialog")
2023-08-24 15:50:37 +08:00
onClicked: {
double_btn_dialog.open()
}
}
}
CodeExpander{
Layout.fillWidth: true
Layout.topMargin: -1
code:'FluContentDialog{
id:dialog
2024-03-09 15:35:48 +08:00
title: qsTr("Friendly Reminder")
message: qsTr("Are you sure you want to opt out?")
negativeText: qsTr("Cancel")
2023-08-24 15:50:37 +08:00
buttonFlags: FluContentDialogType.NegativeButton | FluContentDialogType.PositiveButton
onNegativeClicked:{
2024-03-09 15:35:48 +08:00
showSuccess(qsTr("Click the Cancel Button"))
2023-08-24 15:50:37 +08:00
}
2024-03-09 15:35:48 +08:00
positiveText: qsTr("OK")
2023-08-24 15:50:37 +08:00
onPositiveClicked:{
2024-03-09 15:35:48 +08:00
showSuccess(qsTr("Click the OK Button"))
2024-02-25 14:37:26 +08:00
}
2023-08-24 15:50:37 +08:00
}
dialog.open()'
}
FluContentDialog{
id:double_btn_dialog
2024-03-09 15:35:48 +08:00
title: qsTr("Friendly Reminder")
message: qsTr("Are you sure you want to opt out?")
2023-08-24 15:50:37 +08:00
buttonFlags: FluContentDialogType.NegativeButton | FluContentDialogType.PositiveButton
2024-03-09 15:35:48 +08:00
negativeText: qsTr("Cancel")
onNegativeClicked: {
showSuccess(qsTr("Click the Cancel Button"))
2023-08-24 15:50:37 +08:00
}
2024-03-09 15:35:48 +08:00
positiveText: qsTr("OK")
2023-08-24 15:50:37 +08:00
onPositiveClicked:{
2024-03-09 15:35:48 +08:00
showSuccess(qsTr("Click the OK Button"))
2023-08-24 15:50:37 +08:00
}
}
FluArea{
Layout.fillWidth: true
height: 68
paddings: 10
Layout.topMargin: 20
FluButton{
anchors.verticalCenter: parent.verticalCenter
text:"Show Triple Button Dialog"
onClicked: {
triple_btn_dialog.open()
}
}
}
CodeExpander{
Layout.fillWidth: true
Layout.topMargin: -1
code:'FluContentDialog{
2024-03-09 15:35:48 +08:00
id: dialog
title: qsTr("Friendly Reminder")
message: qsTr("Are you sure you want to opt out?")
negativeText: qsTr("Cancel")
2023-08-24 15:50:37 +08:00
buttonFlags: FluContentDialogType.NeutralButton | FluContentDialogType.NegativeButton | FluContentDialogType.PositiveButton
2024-03-09 15:35:48 +08:00
negativeText: qsTr("Cancel")
onNegativeClicked: {
showSuccess(qsTr("Click the Cancel Button"))
2023-08-24 15:50:37 +08:00
}
2024-03-09 15:35:48 +08:00
positiveText: qsTr("OK")
onPositiveClicked: {
showSuccess(qsTr("Click the OK Button"))
2023-08-24 15:50:37 +08:00
}
2024-03-09 15:35:48 +08:00
neutralText: qsTr("Minimize")
onNeutralClicked: {
showSuccess(qsTr("Click Minimize"))
2023-08-24 15:50:37 +08:00
}
}
dialog.open()'
}
FluContentDialog{
2024-03-09 15:35:48 +08:00
id: triple_btn_dialog
title: qsTr("Friendly Reminder")
message: qsTr("Are you sure you want to opt out?")
2023-08-24 15:50:37 +08:00
buttonFlags: FluContentDialogType.NeutralButton | FluContentDialogType.NegativeButton | FluContentDialogType.PositiveButton
2024-03-09 15:35:48 +08:00
negativeText: qsTr("Cancel")
onNegativeClicked: {
showSuccess(qsTr("Click the Cancel Button"))
2023-08-24 15:50:37 +08:00
}
2024-03-09 15:35:48 +08:00
positiveText: qsTr("OK")
onPositiveClicked: {
showSuccess(qsTr("Click the OK Button"))
2023-08-24 15:50:37 +08:00
}
2024-03-09 15:35:48 +08:00
neutralText: qsTr("Minimize")
onNeutralClicked: {
showSuccess(qsTr("Click Minimize"))
2023-08-24 15:50:37 +08:00
}
}
2023-12-04 17:35:05 +08:00
FluArea{
Layout.fillWidth: true
2024-01-31 11:13:37 +08:00
height: 100
2023-12-04 17:35:05 +08:00
paddings: 10
Layout.topMargin: 20
FluButton{
2024-01-31 11:13:37 +08:00
anchors.top: parent.top
anchors.topMargin: 5
2024-03-09 15:35:48 +08:00
text: qsTr("Custom Content Dialog")
2023-12-04 17:35:05 +08:00
onClicked: {
custom_btn_dialog.open()
}
}
2024-01-31 11:13:37 +08:00
FluButton{
anchors.top: parent.top
anchors.topMargin: 48
2024-03-09 15:35:48 +08:00
text: qsTr("Custom Content Dialog2")
2024-01-31 11:13:37 +08:00
onClicked: {
custom_btn_dialog2.open()
}
}
2023-12-04 17:35:05 +08:00
}
CodeExpander{
Layout.fillWidth: true
Layout.topMargin: -1
code:'FluContentDialog{
2024-03-09 15:35:48 +08:00
id: dialog
title: qsTr("Friendly Reminder")
message: qsTr("Data is loading, please wait...")
negativeText: qsTr("Unload")
2023-12-04 17:35:05 +08:00
contentDelegate: Component{
Item{
width: parent.width
height: 80
FluProgressRing{
anchors.centerIn: parent
}
}
}
2024-03-09 15:35:48 +08:00
onNegativeClicked: {
showSuccess(qsTr("Click the Cancel Button"))
2023-12-04 17:35:05 +08:00
}
2024-03-09 15:35:48 +08:00
positiveText :qsTr("OK")
onPositiveClicked: {
showSuccess(qsTr("Click the OK Button"))
2024-02-25 14:37:26 +08:00
}
2023-12-04 17:35:05 +08:00
}
dialog.open()'
}
FluContentDialog{
2024-03-09 15:35:48 +08:00
id: custom_btn_dialog
title: qsTr("Friendly Reminder")
message: qsTr("Data is loading, please wait...")
negativeText: qsTr("Unload")
2023-12-04 17:35:05 +08:00
contentDelegate: Component{
Item{
2024-01-31 11:13:37 +08:00
implicitWidth: parent.width
implicitHeight: 80
2023-12-04 17:35:05 +08:00
FluProgressRing{
anchors.centerIn: parent
}
}
}
2024-03-09 15:35:48 +08:00
onNegativeClicked: {
showSuccess(qsTr("Click the Cancel Button"))
2023-12-04 17:35:05 +08:00
}
2024-03-09 15:35:48 +08:00
positiveText: qsTr("OK")
onPositiveClickListener: function(){
showError(qsTr("Test the InfoBar level on top of the Popup"))
2023-12-04 17:35:05 +08:00
}
}
2024-01-31 11:13:37 +08:00
FluContentDialog{
id:custom_btn_dialog2
2024-03-09 15:35:48 +08:00
title: qsTr("Line Chart")
2024-01-31 11:13:37 +08:00
contentDelegate: Component{
Item{
implicitWidth: parent.width
implicitHeight: 300
FluChart{
anchors.fill: parent
chartType: 'line'
chartData: { return {
labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
datasets: [{
label: 'My First Dataset',
data: [65, 59, 80, 81, 56, 55, 40],
fill: false,
borderColor: 'rgb(75, 192, 192)',
tension: 0.1
}]
}
}
chartOptions: { return {
maintainAspectRatio: false,
title: {
display: true,
text: 'Chart.js Line Chart - Stacked'
},
tooltips: {
mode: 'index',
intersect: false
}
}
}
}
}
}
buttonFlags: FluContentDialogType.PositiveButton
2024-03-09 15:35:48 +08:00
positiveText: qsTr("OK")
onPositiveClicked: {
showSuccess(qsTr("Click the OK Button"))
2024-01-31 11:13:37 +08:00
}
}
2023-08-24 15:50:37 +08:00
}