From a2faf8479da6d334d514011cdcfdce888efb1eeb Mon Sep 17 00:00:00 2001 From: zhuzichu Date: Wed, 10 Jul 2024 12:31:09 +0800 Subject: [PATCH] update --- example/example.qrc | 2 + example/example_en_US.ts | 23 ++++++++-- example/example_zh_CN.ts | 23 ++++++++-- example/qml/global/ItemsFooter.qml | 9 ++++ example/qml/page/T_FluentPro.qml | 65 +++++++++++++++++++++++++++++ example/qml/page/T_Home.qml | 9 ++++ example/res/image/logo_pro.png | Bin 0 -> 32116 bytes 7 files changed, 123 insertions(+), 8 deletions(-) create mode 100644 example/qml/page/T_FluentPro.qml create mode 100644 example/res/image/logo_pro.png diff --git a/example/example.qrc b/example/example.qrc index 5ba33e1c..072a1dc0 100644 --- a/example/example.qrc +++ b/example/example.qrc @@ -211,6 +211,8 @@ qml/page/T_Icons.qml qml/window/HotkeyWindow.qml qml/page/T_CustomPlot.qml + res/image/logo_pro.png + qml/page/T_FluentPro.qml diff --git a/example/example_en_US.ts b/example/example_en_US.ts index 84b80013..ab94d9b6 100644 --- a/example/example_en_US.ts +++ b/example/example_en_US.ts @@ -175,6 +175,11 @@ Settings + + + FluentUI Pro + + ItemsOriginal @@ -1373,22 +1378,32 @@ My only desire is to be permitted to drive out the traitors and restore the Han. T_Home - + FluentUI GitHub - + The latest FluentUI controls and styles for your applications. - + + FluentUI Pro + + + + + The latest FluentUI Pro controls and styles for your applications. + + + + FluentUI Initializr - + FluentUI Initializr is a Tool that helps you create and customize Fluent UI projects with various options. diff --git a/example/example_zh_CN.ts b/example/example_zh_CN.ts index 74375eb0..9efff7ff 100644 --- a/example/example_zh_CN.ts +++ b/example/example_zh_CN.ts @@ -175,6 +175,11 @@ Settings 设置 + + + FluentUI Pro + + ItemsOriginal @@ -1491,22 +1496,32 @@ My only desire is to be permitted to drive out the traitors and restore the Han. T_Home - + FluentUI GitHub FluentUI GitHub - + The latest FluentUI controls and styles for your applications. 最新的 FluentUI 控件和样式 - + + FluentUI Pro + + + + + The latest FluentUI Pro controls and styles for your applications. + + + + FluentUI Initializr FluentUI脚手架 - + FluentUI Initializr is a Tool that helps you create and customize Fluent UI projects with various options. FluentUI 脚手架是一个快速创建项目工具,可帮助您创建和自定义具有各种选项的 Fluent UI 项目 diff --git a/example/qml/global/ItemsFooter.qml b/example/qml/global/ItemsFooter.qml index 2a8e6d1d..a3aea23f 100644 --- a/example/qml/global/ItemsFooter.qml +++ b/example/qml/global/ItemsFooter.qml @@ -30,4 +30,13 @@ FluObject{ } } + FluPaneItem{ + title:qsTr("FluentUI Pro") + menuDelegate: paneItemMenu + icon: FluentIcons.Airplane + url:"qrc:/example/qml/page/T_FluentPro.qml" + onTap:{ + navigationView.push(url) + } + } } diff --git a/example/qml/page/T_FluentPro.qml b/example/qml/page/T_FluentPro.qml new file mode 100644 index 00000000..72dbed69 --- /dev/null +++ b/example/qml/page/T_FluentPro.qml @@ -0,0 +1,65 @@ +import QtQuick 2.15 +import QtQuick.Layouts 1.15 +import QtQuick.Controls 2.15 +import QtQuick.Window 2.15 +import FluentUI 1.0 +import "../component" + +FluContentPage{ + + title: "FluentUI Pro" + + Image{ + id: iamge_logo + width: 80 + height: 80 + source: "qrc:/example/res/image/logo_pro.png" + } + + Flickable{ + anchors{ + top: iamge_logo.bottom + left: parent.left + right: parent.right + bottom: parent.bottom + } + ScrollBar.vertical: FluScrollBar {} + ScrollBar.horizontal: FluScrollBar {} + contentWidth: text.width + contentHeight: text.height + clip: true + FluText{ + id: text + textFormat: Text.MarkdownText + onLinkActivated: + (link)=> { + Qt.openUrlExternally(link) + } + onLinkHovered: + (link)=> { + if(link === ""){ + FluTools.restoreOverrideCursor() + }else{ + FluTools.setOverrideCursor(Qt.PointingHandCursor) + } + } + text:' +基于[FluentUI](https://github.com/zhuzichu520/FluentUI)开源版本重新打造的项目,代码更加漂亮,API更加好用,界面更加细腻 + +## 与开源版本有啥不同? + +1. 开源版本支持Qt6与Qt5.15.2,Pro版本仅支持Qt6 +2. 开源版本所有组件都有Flu前缀,Pro版本去掉Flu前缀,只需添加一行```qputenv("QT_QUICK_CONTROLS_STYLE", "FluentUI");```代码,就能将原有Button换成FluentUI样式 +3. 项目整体架构不同,开源版本代码都写在一个模块下,Pro版本分为FluentUI,FluentUI.Controls,FluentUI.impl三个模块 +4. 开源版本不支持热加载,Pro版本支持热加载,运行之后修改代码可实时关注QML界面变化,支持一键关闭开启 +5. 开源版不支持wasm编译,Pro版本支持wasm编译 +6. 开源版本过于臃肿,Pro版本做了减法,去其糟粕,取其精华,重新打造 +7. 开源版默认动态库依赖,Pro版本默认静态库依赖 +8. 开源版MIT协议免费,Pro版本付费,如有需要请联系作者wx购买:FluentUI + +## 下载Pro版本 +[下载地址](https://github.com/zhuzichu520/FluentUI-Pro-Installer/releases)' + } + } + +} diff --git a/example/qml/page/T_Home.qml b/example/qml/page/T_Home.qml index 596bb55c..ef77b4f8 100644 --- a/example/qml/page/T_Home.qml +++ b/example/qml/page/T_Home.qml @@ -14,6 +14,15 @@ FluScrollablePage{ ListModel{ id: model_header + ListElement{ + icon: "qrc:/example/res/image/logo_pro.png" + title: qsTr("FluentUI Pro") + desc: qsTr("The latest FluentUI Pro controls and styles for your applications.") + url: "https://github.com/zhuzichu520/FluentUI-Pro-Installer" + clicked: function(model){ + Qt.openUrlExternally(model.url) + } + } ListElement{ icon: "qrc:/example/res/image/ic_home_github.png" title: qsTr("FluentUI GitHub") diff --git a/example/res/image/logo_pro.png b/example/res/image/logo_pro.png new file mode 100644 index 0000000000000000000000000000000000000000..f9ec1ec524eab6b8e87a48649bd0b49275498a30 GIT binary patch literal 32116 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