mirror of
https://github.com/zhuzichu520/FluentUI.git
synced 2024-11-23 11:17:15 +08:00
87 lines
2.4 KiB
QML
87 lines
2.4 KiB
QML
import QtQuick 2.15
|
|
import QtQuick.Controls 2.15
|
|
import QtQuick.Layouts 1.15
|
|
import FluentUI 1.0
|
|
import example 1.0
|
|
import "qrc:///example/qml/component"
|
|
import "../component"
|
|
|
|
CustomWindow {
|
|
|
|
id:window
|
|
title:"热加载"
|
|
width: 800
|
|
height: 600
|
|
minimumWidth: 520
|
|
minimumHeight: 200
|
|
launchMode: FluWindowType.SingleTask
|
|
FileWatcher{
|
|
id:watcher
|
|
onFileChanged: {
|
|
loader.reload()
|
|
}
|
|
}
|
|
FluArea{
|
|
anchors.fill: parent
|
|
FluRemoteLoader{
|
|
id:loader
|
|
anchors.fill: parent
|
|
statusMode: FluStatusViewType.Success
|
|
lazy: true
|
|
errorItem: Item{
|
|
FluText{
|
|
text:loader.itemLodaer().sourceComponent.errorString()
|
|
color:"red"
|
|
anchors.fill: parent
|
|
wrapMode: Text.WrapAnywhere
|
|
padding: 20
|
|
verticalAlignment: Qt.AlignVCenter
|
|
horizontalAlignment: Qt.AlignHCenter
|
|
}
|
|
}
|
|
}
|
|
FluText{
|
|
text:"拖入qml文件"
|
|
font.pixelSize: 26
|
|
anchors.centerIn: parent
|
|
visible: !loader.itemLodaer().item && loader.statusMode === FluStatusViewType.Success
|
|
}
|
|
Rectangle{
|
|
radius: 4
|
|
anchors.fill: parent
|
|
color: "#33333333"
|
|
visible: drop_area.containsDrag
|
|
}
|
|
DropArea{
|
|
id:drop_area
|
|
anchors.fill: parent
|
|
onEntered:
|
|
(event)=>{
|
|
if(!event.hasUrls){
|
|
event.accepted = false
|
|
return
|
|
}
|
|
if (event.urls.length !== 1) {
|
|
event.accepted = false
|
|
return
|
|
}
|
|
var url = event.urls[0].toString()
|
|
var fileExtension = url.substring(url.lastIndexOf(".") + 1)
|
|
if (fileExtension !== "qml") {
|
|
event.accepted = false
|
|
return
|
|
}
|
|
return true
|
|
}
|
|
onDropped:
|
|
(event)=>{
|
|
var path = event.urls[0].toString()
|
|
loader.source = path
|
|
watcher.path = path
|
|
loader.reload()
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|