update
parent
62500af1bb
commit
5ee8729353
|
@ -4,11 +4,12 @@ import FluentUI 1.0
|
|||
FluWindow {
|
||||
|
||||
width: 500
|
||||
height: 500
|
||||
height: 600
|
||||
title:"关于"
|
||||
|
||||
FluAppBar{
|
||||
id:appbar
|
||||
title:"关于"
|
||||
}
|
||||
|
||||
FluText{
|
||||
|
|
|
@ -9,10 +9,10 @@ import FluentUI 1.0
|
|||
FluWindow {
|
||||
id:rootwindow
|
||||
width: 800
|
||||
height: 600
|
||||
height: 700
|
||||
title: "FluentUI"
|
||||
minimumWidth: 600
|
||||
minimumHeight: 400
|
||||
minimumHeight: 500
|
||||
|
||||
FluAppBar{
|
||||
id:appbar
|
||||
|
@ -61,17 +61,6 @@ FluWindow {
|
|||
page:"qrc:/T_Typography.qml"
|
||||
}
|
||||
}
|
||||
|
||||
FluMenu{
|
||||
id:menu
|
||||
FluMenuItem{
|
||||
text:"123"
|
||||
}
|
||||
FluMenuItem{
|
||||
text:"456"
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
FluIconButton{
|
||||
|
@ -82,8 +71,25 @@ FluWindow {
|
|||
leftMargin: 12
|
||||
bottomMargin: 12
|
||||
}
|
||||
FluMenu{
|
||||
id:menu
|
||||
x:40
|
||||
margins:4
|
||||
FluMenuItem{
|
||||
text:"关于"
|
||||
onClicked:{
|
||||
FluApp.navigate("/About")
|
||||
}
|
||||
}
|
||||
FluMenuItem{
|
||||
text:"设置"
|
||||
onClicked:{
|
||||
FluApp.navigate("/Setting")
|
||||
}
|
||||
}
|
||||
}
|
||||
onClicked:{
|
||||
menu.popup()
|
||||
menu.open()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -4,11 +4,12 @@ import FluentUI 1.0
|
|||
FluWindow {
|
||||
|
||||
width: 500
|
||||
height: 500
|
||||
height: 600
|
||||
title:"设置"
|
||||
|
||||
FluAppBar{
|
||||
id:appbar
|
||||
title:"设置"
|
||||
}
|
||||
|
||||
FluText{
|
||||
|
|
|
@ -41,11 +41,10 @@ void FluApp::navigate(const QString& route){
|
|||
}
|
||||
bool isAppWindow = route==initialRoute();
|
||||
FramelessView *view = new FramelessView();
|
||||
view->setColor(QColor(0,0,0,0));
|
||||
view->setColor(QColor(Qt::transparent));
|
||||
QObject::connect(view, &QQuickView::statusChanged, view, [&](QQuickView::Status status) {
|
||||
if (status == QQuickView::Status::Ready) {
|
||||
Q_EMIT windowReady(view);
|
||||
|
||||
view->moveToScreenCenter();
|
||||
view->show();
|
||||
}
|
||||
|
|
|
@ -16,7 +16,6 @@ FramelessView::FramelessView(QWindow *parent) : Super(parent), d(new FramelessVi
|
|||
{
|
||||
setFlags(Qt::CustomizeWindowHint | Qt::Window | Qt::FramelessWindowHint | Qt::WindowMinMaxButtonsHint | Qt::WindowTitleHint | Qt::WindowSystemMenuHint);
|
||||
setResizeMode(SizeRootObjectToView);
|
||||
|
||||
setIsMax(windowState() == Qt::WindowMaximized);
|
||||
setIsFull(windowState() == Qt::WindowFullScreen);
|
||||
connect(this, &QWindow::windowStateChanged, this, [&](Qt::WindowState state) {
|
||||
|
|
|
@ -21,13 +21,10 @@ static bool isFullWin(QQuickView* win)
|
|||
{
|
||||
return win->windowState() == Qt::WindowFullScreen;
|
||||
}
|
||||
|
||||
|
||||
FramelessView::FramelessView(QWindow *parent) : Super(parent), d(new FramelessViewPrivate)
|
||||
{
|
||||
setFlags(Qt::CustomizeWindowHint | Qt::Window | Qt::FramelessWindowHint | Qt::WindowMinMaxButtonsHint | Qt::WindowTitleHint | Qt::WindowSystemMenuHint);
|
||||
setResizeMode(SizeRootObjectToView);
|
||||
|
||||
setIsMax(windowState() == Qt::WindowMaximized);
|
||||
setIsFull(windowState() == Qt::WindowFullScreen);
|
||||
connect(this, &QWindow::windowStateChanged, this, [&](Qt::WindowState state) {
|
||||
|
|
|
@ -4,5 +4,5 @@ import QtGraphicalEffects 1.15
|
|||
DropShadow {
|
||||
radius: 5
|
||||
samples: 4
|
||||
color: FluApp.isDark ? "#80FFFFFF" : "#80000000"
|
||||
color: FluApp.isDark ? "#80FFFFFF" : "#40000000"
|
||||
}
|
||||
|
|
|
@ -1,41 +1,26 @@
|
|||
import QtQuick 2.15
|
||||
import QtQuick.Layouts 1.15
|
||||
import QtQuick.Controls 2.15
|
||||
import QtQuick.Controls.impl 2.15
|
||||
import QtQuick.Templates 2.15 as T
|
||||
import QtQuick.Window 2.15
|
||||
import QtGraphicalEffects 1.15
|
||||
|
||||
T.Menu {
|
||||
id: control
|
||||
Popup {
|
||||
id: popup
|
||||
default property alias content: container.children
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
contentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
contentHeight + topPadding + bottomPadding)
|
||||
margins: 0
|
||||
delegate: FluMenuItem { }
|
||||
|
||||
contentItem: ListView {
|
||||
implicitHeight: contentHeight
|
||||
model: control.contentModel
|
||||
interactive: Window.window ? contentHeight > Window.window.height : false
|
||||
clip: true
|
||||
currentIndex: control.currentIndex
|
||||
ScrollIndicator.vertical: ScrollIndicator {}
|
||||
}
|
||||
|
||||
background: Item {
|
||||
implicitWidth: 122
|
||||
implicitHeight: 30
|
||||
Rectangle{
|
||||
anchors.fill: parent
|
||||
color: "#FFFFFF"
|
||||
layer.effect: FluDropShadow{}
|
||||
layer.enabled: true
|
||||
background: FluRectangle {
|
||||
implicitWidth: 140
|
||||
implicitHeight: container.height
|
||||
color:FluApp.isDark ? Qt.rgba(45/255,45/255,45/255,1) : Qt.rgba(237/255,237/255,237/255,1)
|
||||
radius: [5,5,5,5]
|
||||
layer.effect: FluDropShadow{}
|
||||
layer.enabled: true
|
||||
Column{
|
||||
spacing: 5
|
||||
topPadding: 5
|
||||
bottomPadding: 5
|
||||
id:container
|
||||
function closePopup(){
|
||||
popup.close()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -1,29 +1,40 @@
|
|||
import QtQuick 2.15
|
||||
import QtQuick.Controls 2.15
|
||||
import QtQuick.Controls.impl 2.15
|
||||
import QtQuick.Templates 2.15 as T
|
||||
import QtQuick.Shapes 1.15
|
||||
|
||||
T.MenuItem {
|
||||
id: control
|
||||
Item {
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding,
|
||||
implicitIndicatorHeight + topPadding + bottomPadding)
|
||||
padding: 0
|
||||
spacing: 6
|
||||
id:root
|
||||
width: 140
|
||||
height: 32
|
||||
|
||||
contentItem: FluText {
|
||||
text: control.text
|
||||
property string text: "MenuItem"
|
||||
signal clicked
|
||||
|
||||
Rectangle{
|
||||
anchors.centerIn: parent
|
||||
width: 100
|
||||
height: 32
|
||||
radius: 4
|
||||
color:{
|
||||
if(mouse_area.containsMouse){
|
||||
return FluApp.isDark ? Qt.rgba(56/255,56/255,56/255,1) : Qt.rgba(230/255,230/255,230/255,1)
|
||||
}
|
||||
return FluApp.isDark ? Qt.rgba(45/255,45/255,45/255,1) : Qt.rgba(237/255,237/255,237/255,1)
|
||||
}
|
||||
|
||||
FluText{
|
||||
text: root.text
|
||||
anchors.centerIn: parent
|
||||
}
|
||||
|
||||
MouseArea{
|
||||
id:mouse_area
|
||||
hoverEnabled: true
|
||||
anchors.fill: parent
|
||||
onClicked: {
|
||||
root.clicked()
|
||||
root.parent.closePopup()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
background: Rectangle {
|
||||
implicitWidth: 120
|
||||
implicitHeight: 30
|
||||
width: control.width
|
||||
height: control.height
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@ Item{
|
|||
id:container
|
||||
width: root.width
|
||||
height: root.height
|
||||
visible: false
|
||||
opacity: 0
|
||||
color:root.color
|
||||
}
|
||||
|
||||
|
|
|
@ -46,7 +46,9 @@ Item {
|
|||
layer.enabled: true
|
||||
layer.effect: DropShadow {
|
||||
radius: 5
|
||||
samples: 4
|
||||
samples: 5
|
||||
horizontalOffset: 0
|
||||
verticalOffset: 0
|
||||
color: "#40000000"
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue