mirror of
https://github.com/zhuzichu520/FluentUI.git
synced 2024-10-31 00:07:36 +08:00
update
This commit is contained in:
parent
7fe71c892b
commit
0b6491e730
@ -16,6 +16,8 @@ FluScrollablePage{
|
|||||||
size:slider_size.value
|
size:slider_size.value
|
||||||
text:text_box.text
|
text:text_box.text
|
||||||
color:color_picker.colorValue
|
color:color_picker.colorValue
|
||||||
|
bgColor: bgcolor_picker.colorValue
|
||||||
|
margins:slider_margins.value
|
||||||
Layout.preferredWidth: size
|
Layout.preferredWidth: size
|
||||||
Layout.preferredHeight: size
|
Layout.preferredHeight: size
|
||||||
}
|
}
|
||||||
@ -48,6 +50,35 @@ FluScrollablePage{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RowLayout{
|
||||||
|
spacing: 10
|
||||||
|
Layout.topMargin: 10
|
||||||
|
FluText{
|
||||||
|
text:"bgColor:"
|
||||||
|
Layout.alignment: Qt.AlignVCenter
|
||||||
|
}
|
||||||
|
FluColorPicker{
|
||||||
|
id:bgcolor_picker
|
||||||
|
Component.onCompleted: {
|
||||||
|
setColor(Qt.rgba(1,1,1,1))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
RowLayout{
|
||||||
|
spacing: 10
|
||||||
|
FluText{
|
||||||
|
text:"margins:"
|
||||||
|
Layout.alignment: Qt.AlignVCenter
|
||||||
|
}
|
||||||
|
FluSlider{
|
||||||
|
id:slider_margins
|
||||||
|
from:0
|
||||||
|
to:80
|
||||||
|
value: 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
RowLayout{
|
RowLayout{
|
||||||
spacing: 10
|
spacing: 10
|
||||||
FluText{
|
FluText{
|
||||||
@ -56,7 +87,7 @@ FluScrollablePage{
|
|||||||
}
|
}
|
||||||
FluSlider{
|
FluSlider{
|
||||||
id:slider_size
|
id:slider_size
|
||||||
from:60
|
from:120
|
||||||
to:260
|
to:260
|
||||||
value: 120
|
value: 120
|
||||||
}
|
}
|
||||||
|
@ -16,7 +16,7 @@ FluScrollablePage{
|
|||||||
height: 16
|
height: 16
|
||||||
radius: 8
|
radius: 8
|
||||||
border.width: 4
|
border.width: 4
|
||||||
border.color: FluColors.Red.dark
|
border.color: FluTheme.dark ? FluColors.Teal.lighter : FluColors.Teal.dark
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -24,9 +24,10 @@ FluScrollablePage{
|
|||||||
id:com_lable
|
id:com_lable
|
||||||
FluText{
|
FluText{
|
||||||
wrapMode: Text.WrapAnywhere
|
wrapMode: Text.WrapAnywhere
|
||||||
|
font.bold: true
|
||||||
horizontalAlignment: isRight ? Qt.AlignRight : Qt.AlignLeft
|
horizontalAlignment: isRight ? Qt.AlignRight : Qt.AlignLeft
|
||||||
text: modelData.lable
|
text: modelData.lable
|
||||||
color: FluTheme.primaryColor.dark
|
color: FluTheme.dark ? FluColors.Teal.lighter : FluColors.Teal.dark
|
||||||
MouseArea{
|
MouseArea{
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
cursorShape: Qt.PointingHandCursor
|
cursorShape: Qt.PointingHandCursor
|
||||||
@ -44,11 +45,17 @@ FluScrollablePage{
|
|||||||
horizontalAlignment: isRight ? Qt.AlignRight : Qt.AlignLeft
|
horizontalAlignment: isRight ? Qt.AlignRight : Qt.AlignLeft
|
||||||
text: modelData.text
|
text: modelData.text
|
||||||
font.bold: true
|
font.bold: true
|
||||||
MouseArea{
|
linkColor: FluTheme.dark ? FluColors.Teal.lighter : FluColors.Teal.dark
|
||||||
anchors.fill: parent
|
onLinkActivated:
|
||||||
cursorShape: Qt.PointingHandCursor
|
(link)=> {
|
||||||
onClicked: {
|
Qt.openUrlExternally(link)
|
||||||
showSuccess(modelData.text)
|
}
|
||||||
|
onLinkHovered:
|
||||||
|
(link)=> {
|
||||||
|
if(link === ""){
|
||||||
|
FluTools.restoreOverrideCursor()
|
||||||
|
}else{
|
||||||
|
FluTools.setOverrideCursor(Qt.PointingHandCursor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -58,8 +65,6 @@ FluScrollablePage{
|
|||||||
id:list_model
|
id:list_model
|
||||||
ListElement{
|
ListElement{
|
||||||
lable:"2013-09-01"
|
lable:"2013-09-01"
|
||||||
lableDelegate:()=>com_lable
|
|
||||||
textDelegate:()=>com_text
|
|
||||||
text:"考上家里蹲大学"
|
text:"考上家里蹲大学"
|
||||||
}
|
}
|
||||||
ListElement{
|
ListElement{
|
||||||
@ -69,7 +74,6 @@ FluScrollablePage{
|
|||||||
ListElement{
|
ListElement{
|
||||||
lable:"2017-09-01"
|
lable:"2017-09-01"
|
||||||
text:"开始找工作,毕业即失业!回农村老家躺平,继承三亩良田!!"
|
text:"开始找工作,毕业即失业!回农村老家躺平,继承三亩良田!!"
|
||||||
dot:()=>com_dot
|
|
||||||
}
|
}
|
||||||
ListElement{
|
ListElement{
|
||||||
lable:"2018-02-01"
|
lable:"2018-02-01"
|
||||||
@ -91,6 +95,13 @@ FluScrollablePage{
|
|||||||
lable:"2023-02-28"
|
lable:"2023-02-28"
|
||||||
text:"开发FluentUI组件库"
|
text:"开发FluentUI组件库"
|
||||||
}
|
}
|
||||||
|
ListElement{
|
||||||
|
lable:"2023-03-28"
|
||||||
|
text:'将FluentUI源码开源到<a href="https://github.com/zhuzichu520/FluentUI">github</a>,并发布视频到<a href="https://www.bilibili.com/video/BV1mg4y1M71w">B站</a>'
|
||||||
|
lableDelegate:()=>com_lable
|
||||||
|
textDelegate:()=>com_text
|
||||||
|
dot:()=>com_dot
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
RowLayout{
|
RowLayout{
|
||||||
@ -150,6 +161,8 @@ FluScrollablePage{
|
|||||||
FluTimeline{
|
FluTimeline{
|
||||||
id:time_line
|
id:time_line
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
Layout.topMargin: 20
|
||||||
|
Layout.bottomMargin: 20
|
||||||
mode: FluTimelineType.Alternate
|
mode: FluTimelineType.Alternate
|
||||||
model:list_model
|
model:list_model
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include "FluQRCode.h"
|
#include "QRCode.h"
|
||||||
|
|
||||||
#include "BarcodeFormat.h"
|
#include "BarcodeFormat.h"
|
||||||
#include "BitMatrix.h"
|
#include "BitMatrix.h"
|
||||||
@ -6,15 +6,17 @@
|
|||||||
|
|
||||||
using namespace ZXing;
|
using namespace ZXing;
|
||||||
|
|
||||||
FluQRCode::FluQRCode(QQuickItem* parent) : QQuickPaintedItem(parent)
|
QRCode::QRCode(QQuickItem* parent) : QQuickPaintedItem(parent)
|
||||||
{
|
{
|
||||||
color(QColor(0,0,0,255));
|
color(QColor(0,0,0,255));
|
||||||
|
bgColor(QColor(255,255,255,255));
|
||||||
size(100);
|
size(100);
|
||||||
setWidth(_size);
|
setWidth(_size);
|
||||||
setHeight(_size);
|
setHeight(_size);
|
||||||
connect(this,&FluQRCode::textChanged,this,[=]{update();});
|
connect(this,&QRCode::textChanged,this,[=]{update();});
|
||||||
connect(this,&FluQRCode::colorChanged,this,[=]{update();});
|
connect(this,&QRCode::colorChanged,this,[=]{update();});
|
||||||
connect(this,&FluQRCode::sizeChanged,this,[=]{
|
connect(this,&QRCode::bgColorChanged,this,[=]{update();});
|
||||||
|
connect(this,&QRCode::sizeChanged,this,[=]{
|
||||||
setWidth(_size);
|
setWidth(_size);
|
||||||
setHeight(_size);
|
setHeight(_size);
|
||||||
update();
|
update();
|
||||||
@ -22,7 +24,7 @@ FluQRCode::FluQRCode(QQuickItem* parent) : QQuickPaintedItem(parent)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void FluQRCode::paint(QPainter* painter)
|
void QRCode::paint(QPainter* painter)
|
||||||
{
|
{
|
||||||
if(_text.isEmpty()){
|
if(_text.isEmpty()){
|
||||||
return;
|
return;
|
||||||
@ -31,7 +33,6 @@ void FluQRCode::paint(QPainter* painter)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
painter->save();
|
painter->save();
|
||||||
painter->eraseRect(boundingRect());
|
|
||||||
auto format = ZXing::BarcodeFormatFromString("QRCode");
|
auto format = ZXing::BarcodeFormatFromString("QRCode");
|
||||||
auto writer = MultiFormatWriter(format);
|
auto writer = MultiFormatWriter(format);
|
||||||
writer.setMargin(0);
|
writer.setMargin(0);
|
||||||
@ -46,6 +47,9 @@ void FluQRCode::paint(QPainter* painter)
|
|||||||
if (qRed(pixel) == 0 && qGreen(pixel) == 0 && qBlue(pixel) == 0) {
|
if (qRed(pixel) == 0 && qGreen(pixel) == 0 && qBlue(pixel) == 0) {
|
||||||
rgbImage.setPixelColor(x, y, _color);
|
rgbImage.setPixelColor(x, y, _color);
|
||||||
}
|
}
|
||||||
|
if (qRed(pixel) == 255 && qGreen(pixel) == 255 && qBlue(pixel) == 255) {
|
||||||
|
rgbImage.setPixelColor(x, y, _bgColor);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
painter->drawImage(QRect(0, 0, static_cast<int>(width()), static_cast<int>(height())), rgbImage);
|
painter->drawImage(QRect(0, 0, static_cast<int>(width()), static_cast<int>(height())), rgbImage);
|
@ -1,22 +1,23 @@
|
|||||||
#ifndef FLUQRCODE_H
|
#ifndef QRCODE_H
|
||||||
#define FLUQRCODE_H
|
#define QRCODE_H
|
||||||
|
|
||||||
#include <QQuickItem>
|
#include <QQuickItem>
|
||||||
#include <QQuickPaintedItem>
|
#include <QQuickPaintedItem>
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
|
|
||||||
class FluQRCode : public QQuickPaintedItem
|
class QRCode : public QQuickPaintedItem
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
Q_PROPERTY_AUTO(QString,text)
|
Q_PROPERTY_AUTO(QString,text)
|
||||||
Q_PROPERTY_AUTO(QColor,color)
|
Q_PROPERTY_AUTO(QColor,color)
|
||||||
|
Q_PROPERTY_AUTO(QColor,bgColor)
|
||||||
Q_PROPERTY_AUTO(int,size);
|
Q_PROPERTY_AUTO(int,size);
|
||||||
QML_NAMED_ELEMENT(FluQRCode)
|
QML_NAMED_ELEMENT(QRCode)
|
||||||
public:
|
public:
|
||||||
explicit FluQRCode(QQuickItem *parent = nullptr);
|
explicit QRCode(QQuickItem *parent = nullptr);
|
||||||
void paint(QPainter* painter) override;
|
void paint(QPainter* painter) override;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // FLUQRCODE_H
|
#endif // QRCODE_H
|
23
src/imports/FluentUI/Controls/FluQRCode.qml
Normal file
23
src/imports/FluentUI/Controls/FluQRCode.qml
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
import QtQuick
|
||||||
|
import QtQuick.Controls
|
||||||
|
import FluentUI
|
||||||
|
|
||||||
|
Item{
|
||||||
|
property alias text: qrcode.text
|
||||||
|
property alias color: qrcode.color
|
||||||
|
property alias bgColor: qrcode.bgColor
|
||||||
|
property int size: 50
|
||||||
|
property int margins: 0
|
||||||
|
id:control
|
||||||
|
width: size
|
||||||
|
height: size
|
||||||
|
Rectangle{
|
||||||
|
color: bgColor
|
||||||
|
anchors.fill: parent
|
||||||
|
}
|
||||||
|
QRCode{
|
||||||
|
id:qrcode
|
||||||
|
size:control.size-margins
|
||||||
|
anchors.centerIn: parent
|
||||||
|
}
|
||||||
|
}
|
@ -92,7 +92,7 @@ Item{
|
|||||||
wrapMode: Text.WrapAnywhere
|
wrapMode: Text.WrapAnywhere
|
||||||
horizontalAlignment: isRight ? Qt.AlignRight : Qt.AlignLeft
|
horizontalAlignment: isRight ? Qt.AlignRight : Qt.AlignLeft
|
||||||
text: modelData.lable
|
text: modelData.lable
|
||||||
color: FluTheme.primaryColor.dark
|
color: FluTheme.dark ? FluTheme.primaryColor.lighter : FluTheme.primaryColor.dark
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -286,10 +286,7 @@ Item{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -83,4 +83,5 @@ FluTreeView 1.0 Controls/FluTreeView.qml
|
|||||||
FluWindow 1.0 Controls/FluWindow.qml
|
FluWindow 1.0 Controls/FluWindow.qml
|
||||||
FluTimeline 1.0 Controls/FluTimeline.qml
|
FluTimeline 1.0 Controls/FluTimeline.qml
|
||||||
FluChart 1.0 Controls/FluChart.qml
|
FluChart 1.0 Controls/FluChart.qml
|
||||||
|
FluQRCode 1.0 Controls/FluQRCode.qml
|
||||||
plugin fluentuiplugin
|
plugin fluentuiplugin
|
||||||
|
Loading…
Reference in New Issue
Block a user