FlatStyle
This commit is contained in:
parent
23e3e26ed3
commit
38ecc4121d
17 changed files with 758 additions and 0 deletions
|
@ -43,5 +43,6 @@ encoding//QWebView/GetCookie.py=utf-8
|
|||
encoding//QWidget/Lib/CustomPaintWidget.py=utf-8
|
||||
encoding//QWidget/Lib/CustomWidget.py=utf-8
|
||||
encoding//QWidget/WidgetStyle.py=utf-8
|
||||
encoding//QtQuick/FlatStyle.py=utf-8
|
||||
encoding//Test/\u5168\u5C40\u70ED\u952E/HotKey.py=utf-8
|
||||
encoding//Test/\u81EA\u52A8\u66F4\u65B0/test.py=utf-8
|
||||
|
|
39
QtQuick/FlatStyle.py
Normal file
39
QtQuick/FlatStyle.py
Normal file
|
@ -0,0 +1,39 @@
|
|||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
"""
|
||||
Created on 2019年2月2日
|
||||
@author: Irony
|
||||
@site: https://pyqt5.com https://github.com/892768447
|
||||
@email: 892768447@qq.com
|
||||
@file: QtQuick.FlatStyle
|
||||
@description:
|
||||
"""
|
||||
import os
|
||||
import sys
|
||||
|
||||
from PyQt5.QtCore import QCoreApplication, Qt, QUrl
|
||||
from PyQt5.QtQml import QQmlApplicationEngine
|
||||
from PyQt5.QtWidgets import QApplication, QMessageBox
|
||||
|
||||
|
||||
__Author__ = 'Irony'
|
||||
__Copyright__ = 'Copyright (c) 2019'
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
try:
|
||||
QCoreApplication.setAttribute(Qt.AA_EnableHighDpiScaling)
|
||||
except:
|
||||
pass
|
||||
|
||||
os.chdir('FlatStyle')
|
||||
|
||||
app = QApplication(sys.argv)
|
||||
engine = QQmlApplicationEngine()
|
||||
engine.objectCreated.connect(
|
||||
lambda obj, _: (QMessageBox.critical(None, '错误', '运行失败,可能是当前PyQt版本不支持'), engine.quit()) if not obj else 0)
|
||||
engine.addImportPath('imports')
|
||||
engine.load(QUrl('flatstyle.qml'))
|
||||
|
||||
sys.exit(app.exec_())
|
122
QtQuick/FlatStyle/Flat/Button.qml
Normal file
122
QtQuick/FlatStyle/Flat/Button.qml
Normal file
|
@ -0,0 +1,122 @@
|
|||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2017 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the examples of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:BSD$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** BSD License Usage
|
||||
** Alternatively, you may use this file under the terms of the BSD license
|
||||
** as follows:
|
||||
**
|
||||
** "Redistribution and use in source and binary forms, with or without
|
||||
** modification, are permitted provided that the following conditions are
|
||||
** met:
|
||||
** * Redistributions of source code must retain the above copyright
|
||||
** notice, this list of conditions and the following disclaimer.
|
||||
** * Redistributions in binary form must reproduce the above copyright
|
||||
** notice, this list of conditions and the following disclaimer in
|
||||
** the documentation and/or other materials provided with the
|
||||
** distribution.
|
||||
** * Neither the name of The Qt Company Ltd nor the names of its
|
||||
** contributors may be used to endorse or promote products derived
|
||||
** from this software without specific prior written permission.
|
||||
**
|
||||
**
|
||||
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.8
|
||||
import QtQuick.Templates 2.1 as T
|
||||
import Theme 1.0
|
||||
|
||||
T.Button {
|
||||
id: control
|
||||
|
||||
font: Theme.font
|
||||
|
||||
implicitWidth: Math.max(background ? background.implicitWidth : 0,
|
||||
contentItem.implicitWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(background ? background.implicitHeight : 0,
|
||||
contentItem.implicitHeight + topPadding + bottomPadding)
|
||||
leftPadding: 4
|
||||
rightPadding: 4
|
||||
|
||||
background: Rectangle {
|
||||
id: buttonBackground
|
||||
implicitWidth: 100
|
||||
implicitHeight: 40
|
||||
opacity: enabled ? 1 : 0.3
|
||||
border.color: Theme.mainColor
|
||||
border.width: 1
|
||||
radius: 2
|
||||
|
||||
states: [
|
||||
State {
|
||||
name: "normal"
|
||||
when: !control.down
|
||||
PropertyChanges {
|
||||
target: buttonBackground
|
||||
}
|
||||
},
|
||||
State {
|
||||
name: "down"
|
||||
when: control.down
|
||||
PropertyChanges {
|
||||
target: buttonBackground
|
||||
border.color: Theme.mainColorDarker
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
contentItem: Text {
|
||||
id: textItem
|
||||
text: control.text
|
||||
|
||||
font: control.font
|
||||
opacity: enabled ? 1.0 : 0.3
|
||||
color: Theme.mainColor
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
elide: Text.ElideRight
|
||||
|
||||
states: [
|
||||
State {
|
||||
name: "normal"
|
||||
when: !control.down
|
||||
},
|
||||
State {
|
||||
name: "down"
|
||||
when: control.down
|
||||
PropertyChanges {
|
||||
target: textItem
|
||||
color: Theme.mainColorDarker
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
146
QtQuick/FlatStyle/Flat/CheckBox.qml
Normal file
146
QtQuick/FlatStyle/Flat/CheckBox.qml
Normal file
|
@ -0,0 +1,146 @@
|
|||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2017 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the examples of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:BSD$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** BSD License Usage
|
||||
** Alternatively, you may use this file under the terms of the BSD license
|
||||
** as follows:
|
||||
**
|
||||
** "Redistribution and use in source and binary forms, with or without
|
||||
** modification, are permitted provided that the following conditions are
|
||||
** met:
|
||||
** * Redistributions of source code must retain the above copyright
|
||||
** notice, this list of conditions and the following disclaimer.
|
||||
** * Redistributions in binary form must reproduce the above copyright
|
||||
** notice, this list of conditions and the following disclaimer in
|
||||
** the documentation and/or other materials provided with the
|
||||
** distribution.
|
||||
** * Neither the name of The Qt Company Ltd nor the names of its
|
||||
** contributors may be used to endorse or promote products derived
|
||||
** from this software without specific prior written permission.
|
||||
**
|
||||
**
|
||||
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.8
|
||||
import QtQuick.Templates 2.1 as T
|
||||
import Theme 1.0
|
||||
|
||||
T.CheckBox {
|
||||
id: control
|
||||
|
||||
font: Theme.font
|
||||
|
||||
implicitWidth: Math.max(background ? background.implicitWidth : 0,
|
||||
contentItem.implicitWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(background ? background.implicitHeight : 0,
|
||||
Math.max(contentItem.implicitHeight,
|
||||
indicator ? indicator.implicitHeight : 0) + topPadding + bottomPadding)
|
||||
leftPadding: 4
|
||||
indicator: Rectangle {
|
||||
id: checkboxHandle
|
||||
implicitWidth: Theme.baseSize * 2.6
|
||||
implicitHeight: Theme.baseSize * 2.6
|
||||
x: control.leftPadding
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
radius: 2
|
||||
border.color: Theme.mainColor
|
||||
|
||||
Rectangle {
|
||||
id: rectangle
|
||||
width: Theme.baseSize * 1.4
|
||||
height: Theme.baseSize * 1.4
|
||||
x: Theme.baseSize * 0.6
|
||||
y: Theme.baseSize * 0.6
|
||||
radius: Theme.baseSize * 0.4
|
||||
visible: false
|
||||
color: Theme.mainColor
|
||||
}
|
||||
|
||||
states: [
|
||||
State {
|
||||
name: "unchecked"
|
||||
when: !control.checked && !control.down
|
||||
},
|
||||
State {
|
||||
name: "checked"
|
||||
when: control.checked && !control.down
|
||||
|
||||
PropertyChanges {
|
||||
target: rectangle
|
||||
visible: true
|
||||
}
|
||||
},
|
||||
State {
|
||||
name: "unchecked_down"
|
||||
when: !control.checked && control.down
|
||||
|
||||
PropertyChanges {
|
||||
target: rectangle
|
||||
color: Theme.mainColorDarker
|
||||
}
|
||||
|
||||
PropertyChanges {
|
||||
target: checkboxHandle
|
||||
border.color: Theme.mainColorDarker
|
||||
}
|
||||
},
|
||||
State {
|
||||
name: "checked_down"
|
||||
extend: "unchecked_down"
|
||||
when: control.checked && control.down
|
||||
|
||||
PropertyChanges {
|
||||
target: rectangle
|
||||
visible: true
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
background: Rectangle {
|
||||
implicitWidth: 140
|
||||
implicitHeight: Theme.baseSize * 3.8
|
||||
color: Theme.lightGray
|
||||
border.color: Theme.gray
|
||||
}
|
||||
|
||||
contentItem: Text {
|
||||
leftPadding: control.indicator.width + 4
|
||||
|
||||
text: control.text
|
||||
font: control.font
|
||||
color: Theme.dark
|
||||
elide: Text.ElideRight
|
||||
visible: control.text
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
}
|
||||
}
|
||||
|
140
QtQuick/FlatStyle/Flat/Switch.qml
Normal file
140
QtQuick/FlatStyle/Flat/Switch.qml
Normal file
|
@ -0,0 +1,140 @@
|
|||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2017 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the examples of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:BSD$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** BSD License Usage
|
||||
** Alternatively, you may use this file under the terms of the BSD license
|
||||
** as follows:
|
||||
**
|
||||
** "Redistribution and use in source and binary forms, with or without
|
||||
** modification, are permitted provided that the following conditions are
|
||||
** met:
|
||||
** * Redistributions of source code must retain the above copyright
|
||||
** notice, this list of conditions and the following disclaimer.
|
||||
** * Redistributions in binary form must reproduce the above copyright
|
||||
** notice, this list of conditions and the following disclaimer in
|
||||
** the documentation and/or other materials provided with the
|
||||
** distribution.
|
||||
** * Neither the name of The Qt Company Ltd nor the names of its
|
||||
** contributors may be used to endorse or promote products derived
|
||||
** from this software without specific prior written permission.
|
||||
**
|
||||
**
|
||||
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.8
|
||||
import QtQuick.Templates 2.1 as T
|
||||
import Theme 1.0
|
||||
|
||||
T.Switch {
|
||||
id: control
|
||||
|
||||
implicitWidth: indicator.implicitWidth
|
||||
implicitHeight: background.implicitHeight
|
||||
|
||||
background: Rectangle {
|
||||
implicitWidth: 140
|
||||
implicitHeight: Theme.baseSize * 3.8
|
||||
color: Theme.lightGray
|
||||
border.color: Theme.gray
|
||||
}
|
||||
|
||||
leftPadding: 4
|
||||
|
||||
indicator: Rectangle {
|
||||
id: switchHandle
|
||||
implicitWidth: Theme.baseSize * 4.8
|
||||
implicitHeight: Theme.baseSize * 2.6
|
||||
x: control.leftPadding
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
radius: Theme.baseSize * 1.3
|
||||
color: Theme.light
|
||||
border.color: Theme.lightGray
|
||||
|
||||
Rectangle {
|
||||
id: rectangle
|
||||
|
||||
width: Theme.baseSize * 2.6
|
||||
height: Theme.baseSize * 2.6
|
||||
radius: Theme.baseSize * 1.3
|
||||
color: Theme.light
|
||||
border.color: Theme.gray
|
||||
}
|
||||
|
||||
states: [
|
||||
State {
|
||||
name: "off"
|
||||
when: !control.checked && !control.down
|
||||
},
|
||||
State {
|
||||
name: "on"
|
||||
when: control.checked && !control.down
|
||||
|
||||
PropertyChanges {
|
||||
target: switchHandle
|
||||
color: Theme.mainColor
|
||||
border.color: Theme.mainColor
|
||||
}
|
||||
|
||||
PropertyChanges {
|
||||
target: rectangle
|
||||
x: parent.width - width
|
||||
|
||||
}
|
||||
},
|
||||
State {
|
||||
name: "off_down"
|
||||
when: !control.checked && control.down
|
||||
|
||||
PropertyChanges {
|
||||
target: rectangle
|
||||
color: Theme.light
|
||||
}
|
||||
|
||||
},
|
||||
State {
|
||||
name: "on_down"
|
||||
extend: "off_down"
|
||||
when: control.checked && control.down
|
||||
|
||||
PropertyChanges {
|
||||
target: rectangle
|
||||
x: parent.width - width
|
||||
color: Theme.light
|
||||
}
|
||||
|
||||
PropertyChanges {
|
||||
target: switchHandle
|
||||
color: Theme.mainColorDarker
|
||||
border.color: Theme.mainColorDarker
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
146
QtQuick/FlatStyle/MainForm.ui.qml
Normal file
146
QtQuick/FlatStyle/MainForm.ui.qml
Normal file
|
@ -0,0 +1,146 @@
|
|||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2017 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the examples of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:BSD$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** BSD License Usage
|
||||
** Alternatively, you may use this file under the terms of the BSD license
|
||||
** as follows:
|
||||
**
|
||||
** "Redistribution and use in source and binary forms, with or without
|
||||
** modification, are permitted provided that the following conditions are
|
||||
** met:
|
||||
** * Redistributions of source code must retain the above copyright
|
||||
** notice, this list of conditions and the following disclaimer.
|
||||
** * Redistributions in binary form must reproduce the above copyright
|
||||
** notice, this list of conditions and the following disclaimer in
|
||||
** the documentation and/or other materials provided with the
|
||||
** distribution.
|
||||
** * Neither the name of The Qt Company Ltd nor the names of its
|
||||
** contributors may be used to endorse or promote products derived
|
||||
** from this software without specific prior written permission.
|
||||
**
|
||||
**
|
||||
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.8
|
||||
import QtQuick.Controls 2.1
|
||||
import QtQuick.Layouts 1.0
|
||||
import Theme 1.0
|
||||
|
||||
Item {
|
||||
id: form
|
||||
|
||||
width: 320
|
||||
height: 480
|
||||
property alias slider: slider
|
||||
property alias checkBoxUnderline: checkBoxUnderline
|
||||
property alias checkBoxBold: checkBoxBold
|
||||
property alias sizeSwitch: sizeSwitch
|
||||
property alias button: button
|
||||
|
||||
Slider {
|
||||
id: slider
|
||||
width: 297
|
||||
height: 38
|
||||
stepSize: 1
|
||||
to: 18
|
||||
from: 10
|
||||
value: 14
|
||||
anchors.topMargin: Theme.baseSize
|
||||
anchors.top: gridLayout.bottom
|
||||
anchors.right: gridLayout.right
|
||||
anchors.left: gridLayout.left
|
||||
handle: Rectangle {
|
||||
id: sliderHandle
|
||||
x: slider.leftPadding + slider.visualPosition * (slider.availableWidth - width)
|
||||
y: slider.topPadding + slider.availableHeight / 2 - height / 2
|
||||
implicitWidth: 26
|
||||
implicitHeight: 26
|
||||
radius: 13
|
||||
color: slider.pressed ? Theme.mainColorDarker : Theme.mainColor
|
||||
border.color: Theme.gray
|
||||
}
|
||||
}
|
||||
|
||||
GridLayout {
|
||||
id: gridLayout
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: 64
|
||||
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
columnSpacing: Theme.baseSize * 0.5
|
||||
rowSpacing: Theme.baseSize * 0.5
|
||||
rows: 4
|
||||
columns: 2
|
||||
|
||||
Label {
|
||||
text: qsTr("Toggle Size")
|
||||
font: Theme.font
|
||||
}
|
||||
|
||||
Switch {
|
||||
id: sizeSwitch
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
||||
CheckBox {
|
||||
id: checkBoxBold
|
||||
text: qsTr("Bold")
|
||||
checked: true
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
||||
CheckBox {
|
||||
id: checkBoxUnderline
|
||||
text: qsTr("Underline")
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
id: rectangle
|
||||
color: Theme.mainColor
|
||||
Layout.fillWidth: true
|
||||
Layout.columnSpan: 2
|
||||
Layout.preferredHeight: 38
|
||||
Layout.preferredWidth: 297
|
||||
}
|
||||
|
||||
Label {
|
||||
id: label
|
||||
text: qsTr("Customization")
|
||||
font: Theme.font
|
||||
}
|
||||
|
||||
Button {
|
||||
id: button
|
||||
text: qsTr("Change Color")
|
||||
Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
|
||||
}
|
||||
}
|
||||
}
|
BIN
QtQuick/FlatStyle/MainForm.ui.qmlc
Normal file
BIN
QtQuick/FlatStyle/MainForm.ui.qmlc
Normal file
Binary file not shown.
80
QtQuick/FlatStyle/flatstyle.qml
Normal file
80
QtQuick/FlatStyle/flatstyle.qml
Normal file
|
@ -0,0 +1,80 @@
|
|||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2017 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the examples of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:BSD$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** BSD License Usage
|
||||
** Alternatively, you may use this file under the terms of the BSD license
|
||||
** as follows:
|
||||
**
|
||||
** "Redistribution and use in source and binary forms, with or without
|
||||
** modification, are permitted provided that the following conditions are
|
||||
** met:
|
||||
** * Redistributions of source code must retain the above copyright
|
||||
** notice, this list of conditions and the following disclaimer.
|
||||
** * Redistributions in binary form must reproduce the above copyright
|
||||
** notice, this list of conditions and the following disclaimer in
|
||||
** the documentation and/or other materials provided with the
|
||||
** distribution.
|
||||
** * Neither the name of The Qt Company Ltd nor the names of its
|
||||
** contributors may be used to endorse or promote products derived
|
||||
** from this software without specific prior written permission.
|
||||
**
|
||||
**
|
||||
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
import QtQuick 2.8
|
||||
import QtQuick.Controls 2.1
|
||||
import Qt.labs.platform 1.0
|
||||
import Theme 1.0
|
||||
|
||||
ApplicationWindow {
|
||||
id: window
|
||||
visible: true
|
||||
minimumWidth: 360
|
||||
height: 480
|
||||
|
||||
title: qsTr("Flat Style")
|
||||
|
||||
MainForm {
|
||||
id: form
|
||||
|
||||
anchors.fill: parent
|
||||
button.onClicked: colorDialog.open()
|
||||
|
||||
sizeSwitch.onCheckedChanged: Theme.baseSize = (sizeSwitch.checked ? Theme.largeSize : Theme.smallSize)
|
||||
checkBoxBold.onCheckedChanged: Theme.font.bold = checkBoxBold.checked
|
||||
checkBoxUnderline.onCheckedChanged: Theme.font.underline = checkBoxUnderline.checked
|
||||
slider.onPositionChanged: Theme.font.pixelSize = slider.valueAt(slider.position)
|
||||
}
|
||||
|
||||
ColorDialog {
|
||||
id: colorDialog
|
||||
onCurrentColorChanged: Theme.mainColor = currentColor
|
||||
}
|
||||
}
|
BIN
QtQuick/FlatStyle/flatstyle.qmlc
Normal file
BIN
QtQuick/FlatStyle/flatstyle.qmlc
Normal file
Binary file not shown.
74
QtQuick/FlatStyle/imports/Theme/Theme.qml
Normal file
74
QtQuick/FlatStyle/imports/Theme/Theme.qml
Normal file
|
@ -0,0 +1,74 @@
|
|||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2017 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the examples of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:BSD$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** BSD License Usage
|
||||
** Alternatively, you may use this file under the terms of the BSD license
|
||||
** as follows:
|
||||
**
|
||||
** "Redistribution and use in source and binary forms, with or without
|
||||
** modification, are permitted provided that the following conditions are
|
||||
** met:
|
||||
** * Redistributions of source code must retain the above copyright
|
||||
** notice, this list of conditions and the following disclaimer.
|
||||
** * Redistributions in binary form must reproduce the above copyright
|
||||
** notice, this list of conditions and the following disclaimer in
|
||||
** the documentation and/or other materials provided with the
|
||||
** distribution.
|
||||
** * Neither the name of The Qt Company Ltd nor the names of its
|
||||
** contributors may be used to endorse or promote products derived
|
||||
** from this software without specific prior written permission.
|
||||
**
|
||||
**
|
||||
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
pragma Singleton
|
||||
|
||||
import QtQuick 2.8
|
||||
|
||||
QtObject {
|
||||
readonly property color gray: "#b2b1b1"
|
||||
readonly property color lightGray: "#dddddd"
|
||||
readonly property color light: "#ffffff"
|
||||
readonly property color blue: "#2d548b"
|
||||
property color mainColor: "#17a81a"
|
||||
readonly property color dark: "#222222"
|
||||
readonly property color mainColorDarker: Qt.darker(mainColor, 1.5)
|
||||
|
||||
property int baseSize: 10
|
||||
|
||||
readonly property int smallSize: 10
|
||||
readonly property int largeSize: 16
|
||||
|
||||
property font font
|
||||
font.bold: true
|
||||
font.underline: false
|
||||
font.pixelSize: 14
|
||||
font.family: "arial"
|
||||
}
|
BIN
QtQuick/FlatStyle/imports/Theme/Theme.qmlc
Normal file
BIN
QtQuick/FlatStyle/imports/Theme/Theme.qmlc
Normal file
Binary file not shown.
2
QtQuick/FlatStyle/imports/Theme/qmldir
Normal file
2
QtQuick/FlatStyle/imports/Theme/qmldir
Normal file
|
@ -0,0 +1,2 @@
|
|||
module Theme
|
||||
singleton Theme 1.0 Theme.qml
|
2
QtQuick/FlatStyle/qtquickcontrols2.conf
Normal file
2
QtQuick/FlatStyle/qtquickcontrols2.conf
Normal file
|
@ -0,0 +1,2 @@
|
|||
[Controls]
|
||||
Style=Flat
|
0
QtQuick/README.en.md
Normal file
0
QtQuick/README.en.md
Normal file
6
QtQuick/README.md
Normal file
6
QtQuick/README.md
Normal file
|
@ -0,0 +1,6 @@
|
|||
# QtQuick
|
||||
|
||||
## 1、Flat样式
|
||||
[运行 FlatStyle.py](FlatStyle.py)
|
||||
|
||||
![FlatStyle](ScreenShot/FlatStyle.gif)
|
BIN
QtQuick/ScreenShot/FlatStyle.gif
Normal file
BIN
QtQuick/ScreenShot/FlatStyle.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 141 KiB |
0
QtQuick/__init__.py
Normal file
0
QtQuick/__init__.py
Normal file
Loading…
Reference in a new issue