This commit is contained in:
zhuzichu 2023-07-06 18:17:52 +08:00
parent ad4d077480
commit 80619f6974
5 changed files with 82 additions and 64 deletions

View File

@ -24,6 +24,7 @@ FluScrollablePage{
FluTextButton{
disabled:text_button_switch.checked
text:"Text Button"
contentDescription: "文本按钮"
onClicked: {
showInfo("点击Text Button")
}

View File

@ -168,7 +168,10 @@ CustomWindow {
width: parent.width
height: parent.height
z:999
// pageMode: FluNavigationView.NoStack
//NoStack
// pageMode: FluNavigationView.NoStack
//StackpopFluPagelaunchMode
pageMode: FluNavigationView.NoStack
items: ItemsOriginal
footerItems:ItemsFooter
topPadding:FluTools.isMacos() ? 20 : 5

View File

@ -7,9 +7,9 @@
namespace Fluent_DarkMode {
Q_NAMESPACE
enum Fluent_DarkModeType {
System = 0x0,
Light = 0x1,
Dark = 0x2,
System = 0x0,
Light = 0x1,
Dark = 0x2,
};
Q_ENUM_NS(Fluent_DarkModeType)
QML_NAMED_ELEMENT(FluDarkMode)

View File

@ -19,77 +19,90 @@ Item{
property string errorButtonText: "重新加载"
property color color: FluTheme.dark ? Window.active ? Qt.rgba(38/255,44/255,54/255,1) : Qt.rgba(39/255,39/255,39/255,1) : Qt.rgba(251/255,251/255,253/255,1)
signal errorClicked
property Component loadingItem : com_loading
property Component emptyItem : com_empty
property Component errorItem : com_error
Item{
id:container
anchors.fill: parent
visible: statusMode === FluStatusView.Success
visible: statusMode===FluStatusView.Success
}
FluArea{
paddings: 0
border.width: 0
anchors.fill: container
visible: opacity
opacity: statusMode === FluStatusView.Loading
Behavior on opacity {
NumberAnimation { duration: 83 }
}
color:control.color
ColumnLayout{
anchors.centerIn: parent
visible: statusMode === FluStatusView.Loading
FluProgressRing{
indeterminate: true
Layout.alignment: Qt.AlignHCenter
Loader{
id:loader
anchors.fill: parent
visible: statusMode!==FluStatusView.Success
sourceComponent: {
if(statusMode === FluStatusView.Loading){
return loadingItem
}
FluText{
text:control.loadingText
Layout.alignment: Qt.AlignHCenter
if(statusMode === FluStatusView.Empty){
return emptyItem
}
if(statusMode === FluStatusView.Error){
return errorItem
}
return null
}
}
Component{
id:com_loading
FluArea{
paddings: 0
border.width: 0
radius: 0
color:control.color
ColumnLayout{
anchors.centerIn: parent
FluProgressRing{
indeterminate: true
Layout.alignment: Qt.AlignHCenter
}
FluText{
text:control.loadingText
Layout.alignment: Qt.AlignHCenter
}
}
}
}
FluArea{
paddings: 0
border.width: 0
anchors.fill: container
visible: opacity
color:control.color
opacity: statusMode === FluStatusView.Empty
Behavior on opacity {
NumberAnimation { duration: 83 }
}
ColumnLayout{
anchors.centerIn: parent
visible: statusMode === FluStatusView.Empty
FluText{
text:control.emptyText
font: FluTextStyle.BodyStrong
Layout.alignment: Qt.AlignHCenter
Component {
id:com_empty
FluArea{
paddings: 0
border.width: 0
radius: 0
color:control.color
ColumnLayout{
anchors.centerIn: parent
FluText{
text:control.emptyText
font: FluTextStyle.BodyStrong
Layout.alignment: Qt.AlignHCenter
}
}
}
}
FluArea{
paddings: 0
border.width: 0
anchors.fill: container
visible: opacity
color:control.color
opacity: statusMode === FluStatusView.Error
Behavior on opacity {
NumberAnimation { duration: 83 }
}
ColumnLayout{
anchors.centerIn: parent
FluText{
text:control.errorText
font: FluTextStyle.BodyStrong
Layout.alignment: Qt.AlignHCenter
}
FluFilledButton{
id:btn_error
Layout.alignment: Qt.AlignHCenter
text:control.errorButtonText
onClicked:{
control.errorClicked()
Component{
id:com_error
FluArea{
paddings: 0
border.width: 0
radius: 0
color:control.color
ColumnLayout{
anchors.centerIn: parent
FluText{
text:control.errorText
font: FluTextStyle.BodyStrong
Layout.alignment: Qt.AlignHCenter
}
FluFilledButton{
id:btn_error
Layout.alignment: Qt.AlignHCenter
text:control.errorButtonText
onClicked:{
control.errorClicked()
}
}
}
}

View File

@ -83,6 +83,7 @@ TextField{
right: parent.right
rightMargin: closeRightMargin
}
contentDescription:"清空"
onClicked:{
control.text = ""
}