mirror of
https://github.com/zhuzichu520/FluentUI.git
synced 2024-11-25 20:31:35 +08:00
Compare commits
3 Commits
c7de653ba2
...
cb44759978
Author | SHA1 | Date | |
---|---|---|---|
|
cb44759978 | ||
|
04c52b1b25 | ||
|
b8ef9169b9 |
@ -180,7 +180,6 @@
|
|||||||
<file>qml/window/PageWindow.qml</file>
|
<file>qml/window/PageWindow.qml</file>
|
||||||
<file>qml/page/T_StaggeredLayout.qml</file>
|
<file>qml/page/T_StaggeredLayout.qml</file>
|
||||||
<file>qml/page/T_Clip.qml</file>
|
<file>qml/page/T_Clip.qml</file>
|
||||||
<file>qml/page/T_3D.qml</file>
|
|
||||||
<file>qml/page/T_Network.qml</file>
|
<file>qml/page/T_Network.qml</file>
|
||||||
<file>qml/page/T_ShortcutPicker.qml</file>
|
<file>qml/page/T_ShortcutPicker.qml</file>
|
||||||
<file>qml/chart/T_BarChart.qml</file>
|
<file>qml/chart/T_BarChart.qml</file>
|
||||||
|
@ -515,11 +515,6 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/global/ItemsOriginal.qml" line="487"/>
|
<location filename="qml/global/ItemsOriginal.qml" line="487"/>
|
||||||
<source>3D</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="qml/global/ItemsOriginal.qml" line="493"/>
|
|
||||||
<source>Test Crash</source>
|
<source>Test Crash</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -514,12 +514,11 @@
|
|||||||
<translation type="unfinished">热加载</translation>
|
<translation type="unfinished">热加载</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/global/ItemsOriginal.qml" line="487"/>
|
|
||||||
<source>3D</source>
|
<source>3D</source>
|
||||||
<translation type="unfinished">3D</translation>
|
<translation type="obsolete">3D</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="qml/global/ItemsOriginal.qml" line="493"/>
|
<location filename="qml/global/ItemsOriginal.qml" line="487"/>
|
||||||
<source>Test Crash</source>
|
<source>Test Crash</source>
|
||||||
<translation type="unfinished">测试崩溃</translation>
|
<translation type="unfinished">测试崩溃</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -483,12 +483,6 @@ FluObject{
|
|||||||
FluRouter.navigate("/hotload")
|
FluRouter.navigate("/hotload")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
FluPaneItem{
|
|
||||||
title: qsTr("3D")
|
|
||||||
menuDelegate: paneItemMenu
|
|
||||||
url: "qrc:/example/qml/page/T_3D.qml"
|
|
||||||
onTap: { navigationView.push(url) }
|
|
||||||
}
|
|
||||||
FluPaneItem{
|
FluPaneItem{
|
||||||
title: qsTr("Test Crash")
|
title: qsTr("Test Crash")
|
||||||
onTapListener: function(){
|
onTapListener: function(){
|
||||||
|
@ -1,116 +0,0 @@
|
|||||||
import QtQuick 2.15
|
|
||||||
import QtQuick.Layouts 1.15
|
|
||||||
import QtQuick.Controls 2.15
|
|
||||||
import QtQuick.Window 2.15
|
|
||||||
import Qt3D.Core 2.15
|
|
||||||
import Qt3D.Render 2.15
|
|
||||||
import Qt3D.Input 2.12
|
|
||||||
import Qt3D.Extras 2.15
|
|
||||||
import QtQuick.Scene3D 2.15
|
|
||||||
import Qt.labs.platform 1.1
|
|
||||||
import FluentUI 1.0
|
|
||||||
import "../component"
|
|
||||||
|
|
||||||
FluContentPage{
|
|
||||||
|
|
||||||
id:root
|
|
||||||
title:"3D"
|
|
||||||
|
|
||||||
Scene3D{
|
|
||||||
id:scene_3d
|
|
||||||
anchors.fill: parent
|
|
||||||
focus: true
|
|
||||||
aspects: ["input", "logic"]
|
|
||||||
cameraAspectRatioMode: Scene3D.AutomaticAspectRatio
|
|
||||||
Entity {
|
|
||||||
Camera {
|
|
||||||
id: camera
|
|
||||||
projectionType: CameraLens.PerspectiveProjection
|
|
||||||
fieldOfView: 22.5
|
|
||||||
aspectRatio: scene_3d.width / scene_3d.height
|
|
||||||
nearPlane: 1
|
|
||||||
farPlane: 1000.0
|
|
||||||
viewCenter: Qt.vector3d( 0.0, 0.0, 0.0 )
|
|
||||||
upVector: Qt.vector3d( 0.0, 1.0, 0.0 )
|
|
||||||
position: Qt.vector3d( 0.0, 0.0, 15.0 )
|
|
||||||
}
|
|
||||||
FirstPersonCameraController {
|
|
||||||
linearSpeed: 100
|
|
||||||
lookSpeed: 50
|
|
||||||
camera: camera
|
|
||||||
}
|
|
||||||
components: [
|
|
||||||
RenderSettings{
|
|
||||||
activeFrameGraph: ForwardRenderer{
|
|
||||||
clearColor: Qt.rgba(0,0,0,0);
|
|
||||||
camera: camera
|
|
||||||
}
|
|
||||||
},
|
|
||||||
InputSettings{}
|
|
||||||
]
|
|
||||||
Mesh {
|
|
||||||
id: mesh
|
|
||||||
source: "https://zhu-zichu.gitee.io/test.obj"
|
|
||||||
}
|
|
||||||
PhongMaterial {
|
|
||||||
id: material
|
|
||||||
ambient: color_picker.current
|
|
||||||
}
|
|
||||||
Transform{
|
|
||||||
id:transform
|
|
||||||
scale: 1.0
|
|
||||||
translation: Qt.vector3d(0, 0, 0)
|
|
||||||
rotation: fromEulerAngles(0, 0, 0)
|
|
||||||
property real hAngle:0.0
|
|
||||||
NumberAnimation on hAngle{
|
|
||||||
from:0
|
|
||||||
to:360.0
|
|
||||||
duration: 5000
|
|
||||||
loops: Animation.Infinite
|
|
||||||
}
|
|
||||||
matrix:{
|
|
||||||
var m=Qt.matrix4x4();
|
|
||||||
m.rotate(hAngle,Qt.vector3d(0,1,0));
|
|
||||||
m.translate(Qt.vector3d(0,0,0));
|
|
||||||
return m;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Entity {
|
|
||||||
id: entity
|
|
||||||
components: [mesh, material,transform]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ColumnLayout{
|
|
||||||
RowLayout{
|
|
||||||
spacing: 10
|
|
||||||
Layout.topMargin: 20
|
|
||||||
FluText{
|
|
||||||
text:"tintColor:"
|
|
||||||
Layout.alignment: Qt.AlignVCenter
|
|
||||||
}
|
|
||||||
FluColorPicker{
|
|
||||||
id:color_picker
|
|
||||||
current: "gray"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
FluButton{
|
|
||||||
text:"选择obj资源"
|
|
||||||
onClicked: {
|
|
||||||
file_dialog.open()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
FileDialog {
|
|
||||||
id: file_dialog
|
|
||||||
nameFilters: ["Obj files (*.obj)"]
|
|
||||||
folder: StandardPaths.writableLocation(StandardPaths.DocumentsLocation)
|
|
||||||
onAccepted: {
|
|
||||||
var fileUrl = file_dialog.currentFile
|
|
||||||
mesh.source = fileUrl
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -270,6 +270,10 @@ void FluFrameless::componentComplete() {
|
|||||||
auto geometry = window()->screen()->availableGeometry();
|
auto geometry = window()->screen()->availableGeometry();
|
||||||
RECT rect;
|
RECT rect;
|
||||||
SystemParametersInfo(SPI_GETWORKAREA, 0, &rect, 0);
|
SystemParametersInfo(SPI_GETWORKAREA, 0, &rect, 0);
|
||||||
|
if(!_fixSize){
|
||||||
|
minmaxInfo->ptMinTrackSize.x = window()->minimumWidth() * pixelRatio + offsetXY.x();
|
||||||
|
minmaxInfo->ptMinTrackSize.y = window()->minimumHeight() * pixelRatio + offsetXY.y() + _appbar->height() * pixelRatio;
|
||||||
|
}
|
||||||
minmaxInfo->ptMaxPosition.x = rect.left - offsetXY.x();
|
minmaxInfo->ptMaxPosition.x = rect.left - offsetXY.x();
|
||||||
minmaxInfo->ptMaxPosition.y = rect.top - offsetXY.x();
|
minmaxInfo->ptMaxPosition.y = rect.top - offsetXY.x();
|
||||||
minmaxInfo->ptMaxSize.x = qRound(geometry.width() * pixelRatio) + offsetXY.x() * 2;
|
minmaxInfo->ptMaxSize.x = qRound(geometry.width() * pixelRatio) + offsetXY.x() * 2;
|
||||||
@ -429,7 +433,6 @@ void FluFrameless::setHitTestVisible(QQuickItem *val) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void FluFrameless::_setWindowTopmost(bool topmost) {
|
void FluFrameless::_setWindowTopmost(bool topmost) {
|
||||||
#ifdef Q_OS_WIN
|
#ifdef Q_OS_WIN
|
||||||
HWND hwnd = reinterpret_cast<HWND>(window()->winId());
|
HWND hwnd = reinterpret_cast<HWND>(window()->winId());
|
||||||
|
@ -19,16 +19,20 @@ FluButton {
|
|||||||
}
|
}
|
||||||
iconColor:control.textColor
|
iconColor:control.textColor
|
||||||
}
|
}
|
||||||
|
Item{
|
||||||
|
id: d
|
||||||
|
property var window: Window.window
|
||||||
|
}
|
||||||
onClicked: {
|
onClicked: {
|
||||||
if(menu.count !==0){
|
if(menu.count !==0){
|
||||||
var pos = control.mapToItem(null, 0, 0)
|
var pos = control.mapToItem(null, 0, 0)
|
||||||
var containerHeight = menu.count*36
|
var containerHeight = menu.count*36
|
||||||
if(window.height>pos.y+control.height+containerHeight){
|
if(d.window.height>pos.y+control.height+containerHeight){
|
||||||
menu.y = control.height
|
menu.y = control.height
|
||||||
}else if(pos.y>containerHeight){
|
}else if(pos.y>containerHeight){
|
||||||
menu.y = -containerHeight
|
menu.y = -containerHeight
|
||||||
}else{
|
}else{
|
||||||
menu.y = window.height-(pos.y+containerHeight)
|
menu.y = d.window.height-(pos.y+containerHeight)
|
||||||
}
|
}
|
||||||
menu.open()
|
menu.open()
|
||||||
}
|
}
|
||||||
|
@ -32,9 +32,9 @@ FluWindow {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function showDialog(){
|
function showDialog(offsetX=0,offsetY=0){
|
||||||
var x = transientParent.x + (transientParent.width - width)/2
|
var x = transientParent.x + (transientParent.width - width)/2 + offsetX
|
||||||
var y = transientParent.y + (transientParent.height - height)/2
|
var y = transientParent.y + (transientParent.height - height)/2 + offsetY
|
||||||
control.stayTop = Qt.binding(function(){return transientParent.stayTop})
|
control.stayTop = Qt.binding(function(){return transientParent.stayTop})
|
||||||
control.setGeometry(x,y,width,height)
|
control.setGeometry(x,y,width,height)
|
||||||
control.visibility = Window.Windowed
|
control.visibility = Window.Windowed
|
||||||
|
@ -20,16 +20,20 @@ FluButton {
|
|||||||
}
|
}
|
||||||
iconColor:control.textColor
|
iconColor:control.textColor
|
||||||
}
|
}
|
||||||
|
Item{
|
||||||
|
id: d
|
||||||
|
property var window: Window.window
|
||||||
|
}
|
||||||
onClicked: {
|
onClicked: {
|
||||||
if(menu.count !==0){
|
if(menu.count !==0){
|
||||||
var pos = control.mapToItem(null, 0, 0)
|
var pos = control.mapToItem(null, 0, 0)
|
||||||
var containerHeight = menu.count*36
|
var containerHeight = menu.count*36
|
||||||
if(window.height>pos.y+control.height+containerHeight){
|
if(d.window.height>pos.y+control.height+containerHeight){
|
||||||
menu.y = control.height
|
menu.y = control.height
|
||||||
}else if(pos.y>containerHeight){
|
}else if(pos.y>containerHeight){
|
||||||
menu.y = -containerHeight
|
menu.y = -containerHeight
|
||||||
}else{
|
}else{
|
||||||
menu.y = window.height-(pos.y+containerHeight)
|
menu.y = d.window.height-(pos.y+containerHeight)
|
||||||
}
|
}
|
||||||
menu.open()
|
menu.open()
|
||||||
}
|
}
|
||||||
|
@ -32,9 +32,9 @@ FluWindow {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function showDialog(){
|
function showDialog(offsetX=0,offsetY=0){
|
||||||
var x = transientParent.x + (transientParent.width - width)/2
|
var x = transientParent.x + (transientParent.width - width)/2 + offsetX
|
||||||
var y = transientParent.y + (transientParent.height - height)/2
|
var y = transientParent.y + (transientParent.height - height)/2 + offsetY
|
||||||
control.stayTop = Qt.binding(function(){return transientParent.stayTop})
|
control.stayTop = Qt.binding(function(){return transientParent.stayTop})
|
||||||
control.setGeometry(x,y,width,height)
|
control.setGeometry(x,y,width,height)
|
||||||
control.visibility = Window.Windowed
|
control.visibility = Window.Windowed
|
||||||
|
Loading…
Reference in New Issue
Block a user