diff --git a/example/T_Carousel.qml b/example/T_Carousel.qml new file mode 100644 index 00000000..29a2070c --- /dev/null +++ b/example/T_Carousel.qml @@ -0,0 +1,15 @@ +import QtQuick 2.15 +import QtQuick.Layouts 1.15 +import QtQuick.Window 2.15 +import QtQuick.Controls 2.15 +import QtGraphicalEffects 1.15 +import FluentUI 1.0 + +FluScrollablePage{ + + title:"Carousel" + + FluCarousel{ + + } +} diff --git a/example/page/MainPage.qml b/example/page/MainPage.qml index 9a2e7000..f3794386 100644 --- a/example/page/MainPage.qml +++ b/example/page/MainPage.qml @@ -97,12 +97,22 @@ FluWindow { nav_view.push("qrc:/T_Progress.qml") } } + FluPaneItem{ title:"Rectangle" onTap:{ nav_view.push("qrc:/T_Rectangle.qml") } } + + + FluPaneItem{ + title:"Carousel" + onTap:{ + nav_view.push("qrc:/T_Carousel.qml") + } + } + FluPaneItem{ title:"Expander" onTap:{ diff --git a/example/qml.qrc b/example/qml.qrc index 81fcf5e5..bec7faed 100644 --- a/example/qml.qrc +++ b/example/qml.qrc @@ -1,8 +1,6 @@ - App.qml - res/image/image_huoyin.webp res/svg/avatar_1.svg res/svg/avatar_2.svg @@ -16,12 +14,10 @@ res/svg/avatar_10.svg res/svg/avatar_11.svg res/svg/avatar_12.svg - page/AboutPage.qml page/MainPage.qml page/LoginPage.qml - - T_ToggleSwitch.qml + T_ToggleSwitch.qml T_Typography.qml T_Awesome.qml T_Buttons.qml @@ -38,5 +34,6 @@ T_DatePicker.qml T_MultiWindow.qml T_Menu.qml + T_Carousel.qml diff --git a/src/Fluent.cpp b/src/Fluent.cpp index 59c807e5..386bcf76 100644 --- a/src/Fluent.cpp +++ b/src/Fluent.cpp @@ -47,6 +47,7 @@ void Fluent::registerTypes(const char *uri){ qmlRegisterType(QUrl("qrc:/com.zhuzichu/controls/FluDatePicker.qml"),uri,major,minor,"FluDatePicker"); qmlRegisterType(QUrl("qrc:/com.zhuzichu/controls/FluTimePicker.qml"),uri,major,minor,"FluTimePicker"); + qmlRegisterType(QUrl("qrc:/com.zhuzichu/controls/FluCarousel.qml"),uri,major,minor,"FluCarousel"); qmlRegisterType(QUrl("qrc:/com.zhuzichu/controls/FluAutoSuggestBox.qml"),uri,major,minor,"FluAutoSuggestBox"); qmlRegisterType(QUrl("qrc:/com.zhuzichu/controls/FluExpander.qml"),uri,major,minor,"FluExpander"); @@ -91,7 +92,7 @@ void Fluent::initializeEngine(QQmlEngine *engine, const char *uri) QFont font; font.setFamily("Microsoft YaHei"); QGuiApplication::setFont(font); -// QQuickWindow::setTextRenderType(QQuickWindow::NativeTextRendering); + // QQuickWindow::setTextRenderType(QQuickWindow::NativeTextRendering); #endif QFontDatabase::addApplicationFont(":/com.zhuzichu/res/font/Segoe_Fluent_Icons.ttf"); FluApp* app = FluApp::getInstance(); diff --git a/src/controls/FluAutoSuggestBox.qml b/src/controls/FluAutoSuggestBox.qml index 3c25eddf..8704f84d 100644 --- a/src/controls/FluAutoSuggestBox.qml +++ b/src/controls/FluAutoSuggestBox.qml @@ -152,6 +152,7 @@ TextField{ boundsBehavior: ListView.StopAtBounds clip: true currentIndex: -1 + ScrollBar.vertical: FluScrollBar {} header: Item{ width: input.width height: visible ? 38 : 0 @@ -165,7 +166,6 @@ TextField{ } } } - ScrollBar.vertical: ScrollBar { } delegate:Control{ width: input.width padding:10 diff --git a/src/controls/FluCarousel.qml b/src/controls/FluCarousel.qml new file mode 100644 index 00000000..02909d4d --- /dev/null +++ b/src/controls/FluCarousel.qml @@ -0,0 +1,7 @@ +import QtQuick 2.15 + +Item { + + + +} diff --git a/src/controls/FluDatePicker.qml b/src/controls/FluDatePicker.qml index 36895c54..b08aa443 100644 --- a/src/controls/FluDatePicker.qml +++ b/src/controls/FluDatePicker.qml @@ -202,7 +202,7 @@ Rectangle { width: 100 height: parent.height boundsBehavior:Flickable.StopAtBounds - ScrollBar.vertical: ScrollBar { } + ScrollBar.vertical: FluScrollBar {} model: generateYearArray(1924,2048) clip: true visible: showYear @@ -228,7 +228,7 @@ Rectangle { width: showYear ? 100 : 150 height: parent.height clip: true - ScrollBar.vertical: ScrollBar { } + ScrollBar.vertical: FluScrollBar {} boundsBehavior:Flickable.StopAtBounds delegate: Loader{ property var model: modelData @@ -252,7 +252,7 @@ Rectangle { width: showYear ? 100 : 150 height: parent.height clip: true - ScrollBar.vertical: ScrollBar { } + ScrollBar.vertical: FluScrollBar {} Layout.alignment: Qt.AlignVCenter boundsBehavior:Flickable.StopAtBounds delegate: Loader{ diff --git a/src/controls/FluNavigationView.qml b/src/controls/FluNavigationView.qml index 0aca9f79..60c46801 100644 --- a/src/controls/FluNavigationView.qml +++ b/src/controls/FluNavigationView.qml @@ -135,12 +135,11 @@ Item { } } - Item { id:nav_app_bar width: parent.width height: 38 - + z:999 RowLayout{ height:parent.height spacing: 0 @@ -232,7 +231,7 @@ Item { id:layout_list width: 300 anchors{ - top: nav_app_bar.bottom + top: parent.top bottom: parent.bottom } x: { @@ -264,6 +263,7 @@ Item { Item{ id:layout_header width: layout_list.width + y:nav_app_bar.height height: 50 FluAutoSuggestBox{ @@ -322,6 +322,8 @@ Item { stackIndex.push(currentIndex) } } + ScrollBar.vertical: FluScrollBar {} + model:{ if(items){ return items.children diff --git a/src/controls/FluScrollablePage.qml b/src/controls/FluScrollablePage.qml index a3aa02d8..37ca60ea 100644 --- a/src/controls/FluScrollablePage.qml +++ b/src/controls/FluScrollablePage.qml @@ -17,10 +17,12 @@ Item { fontStyle: FluText.TitleLarge } - ScrollView{ + Flickable{ clip: true width: parent.width contentWidth: parent.width + contentHeight: container.height + ScrollBar.vertical: ScrollBar { } anchors{ top: text_title.bottom bottom: parent.bottom diff --git a/src/controls/FluTimePicker.qml b/src/controls/FluTimePicker.qml index deec95e6..cba70531 100644 --- a/src/controls/FluTimePicker.qml +++ b/src/controls/FluTimePicker.qml @@ -201,7 +201,7 @@ Rectangle { width: isH ? 100 : 150 height: parent.height boundsBehavior:Flickable.StopAtBounds - ScrollBar.vertical: ScrollBar { } + ScrollBar.vertical: FluScrollBar {} model: isH ? generateArray(1,12) : generateArray(0,23) clip: true delegate: Loader{ @@ -225,7 +225,7 @@ Rectangle { height: parent.height model: generateArray(0,59) clip: true - ScrollBar.vertical: ScrollBar { } + ScrollBar.vertical: FluScrollBar {} boundsBehavior:Flickable.StopAtBounds delegate: Loader{ property var model: modelData @@ -250,7 +250,7 @@ Rectangle { model: ["上午","下午"] clip: true visible: isH - ScrollBar.vertical: ScrollBar { } + ScrollBar.vertical: FluScrollBar {} Layout.alignment: Qt.AlignVCenter boundsBehavior:Flickable.StopAtBounds delegate: Loader{ diff --git a/src/controls/FluTreeView.qml b/src/controls/FluTreeView.qml index 667baf55..aa25e02f 100644 --- a/src/controls/FluTreeView.qml +++ b/src/controls/FluTreeView.qml @@ -276,8 +276,8 @@ Item { model: tree_model flickableDirection: Flickable.HorizontalAndVerticalFlick clip: true - ScrollBar.vertical: ScrollBar { } - ScrollBar.horizontal: ScrollBar { } + ScrollBar.vertical: FluScrollBar {} + ScrollBar.horizontal: FluScrollBar { } } function updateData(items){ diff --git a/src/res.qrc b/src/res.qrc index 91576ea5..da22a17d 100644 --- a/src/res.qrc +++ b/src/res.qrc @@ -47,5 +47,6 @@ controls/FluCalenderView.qml controls/FluCalendarDatePicker.qml controls/FluFocusRectangle.qml + controls/FluCarousel.qml