Compare commits

...

6 Commits

Author SHA1 Message Date
朱子楚\zhuzi 3c349da98f update 2023-08-08 21:59:18 +08:00
朱子楚\zhuzi dba7332d89 update 2023-08-08 21:57:08 +08:00
朱子楚\zhuzi 3fefb08140 update 2023-08-08 21:33:16 +08:00
朱子楚\zhuzi 1c69d5daab update 2023-08-08 21:31:33 +08:00
朱子楚\zhuzi ec76240aed update 2023-08-08 21:03:15 +08:00
朱子楚\zhuzi 0a967ca47b update 2023-08-08 20:21:32 +08:00
9 changed files with 39 additions and 38 deletions

View File

@ -13,6 +13,7 @@ if(NOT FLUENTUI_QML_PLUGIN_DIRECTORY)
endif() endif()
add_subdirectory(src) add_subdirectory(src)
add_subdirectory(zxing-cpp)
if (FLUENTUI_BUILD_EXAMPLES) if (FLUENTUI_BUILD_EXAMPLES)
add_subdirectory(example) add_subdirectory(example)
@ -28,8 +29,6 @@ if (FLUENTUI_BUILD_FRAMELESSHEPLER)
add_subdirectory(framelesshelper) add_subdirectory(framelesshelper)
endif () endif ()
add_subdirectory(zxing-cpp)
message("------------------------ FluentUI ------------------------") message("------------------------ FluentUI ------------------------")
message("Build FluentUI demo applications.: ${FLUENTUI_BUILD_EXAMPLES}") message("Build FluentUI demo applications.: ${FLUENTUI_BUILD_EXAMPLES}")
message("Build FramelessHelper.: ${FLUENTUI_BUILD_FRAMELESSHEPLER}") message("Build FramelessHelper.: ${FLUENTUI_BUILD_FRAMELESSHEPLER}")

View File

@ -27,7 +27,7 @@ endif()
file(TO_CMAKE_PATH "/" PATH_SEPARATOR) file(TO_CMAKE_PATH "/" PATH_SEPARATOR)
# #
add_definitions(-DVERSION=1,4,0,0) add_definitions(-DVERSION=1,5,0,0)
find_package(Qt6 REQUIRED COMPONENTS Quick Svg Network) find_package(Qt6 REQUIRED COMPONENTS Quick Svg Network)

View File

@ -102,7 +102,7 @@ FluContentPage{
param.custname = "朱子楚" param.custname = "朱子楚"
param.custtel = "1234567890" param.custtel = "1234567890"
param.custemail = "zhuzichu520@gmail.com" param.custemail = "zhuzichu520@gmail.com"
http.postJson("https://httpbingo.org/post",callable,param) // http.postJson("https://httpbingo.org/post",callable,param)
} }
} }
FluButton{ FluButton{
@ -125,7 +125,7 @@ FluContentPage{
console.debug(status+";"+errorString) console.debug(status+";"+errorString)
} }
var param = "我命由我不由天" var param = "我命由我不由天"
http.postString("https://httpbingo.org/post",callable,param) // http.postString("https://httpbingo.org/post",callable,param)
} }
} }
FluButton{ FluButton{

View File

@ -57,7 +57,7 @@ FluScrollablePage{
FluSlider{ FluSlider{
id:slider_size id:slider_size
from:60 from:60
to:200 to:260
value: 120 value: 120
} }
} }

View File

@ -12,7 +12,7 @@ if(APPLE)
endif() endif()
# #
add_definitions(-DVERSION=1,4,0,0) add_definitions(-DVERSION=1,5,0,0)
find_package(Qt6 REQUIRED COMPONENTS Core Quick Qml) find_package(Qt6 REQUIRED COMPONENTS Core Quick Qml)

View File

@ -32,8 +32,8 @@ void FluHttp::handleReply(QNetworkReply* reply){
_cache.append(reply); _cache.append(reply);
} }
void FluHttp::post(QString url,QJSValue callable,QVariantMap params,QVariantMap headers){ void FluHttp::post(QString url,QJSValue callable,QMap<QString, QVariant> params,QMap<QString, QVariant> headers){
QVariantMap data = invokeIntercept(params,headers,"post").toMap(); QMap<QString, QVariant> data = invokeIntercept(params,headers,"post").toMap();
QThreadPool::globalInstance()->start([=](){ QThreadPool::globalInstance()->start([=](){
onStart(callable); onStart(callable);
for (int i = 0; i < retry(); ++i) { for (int i = 0; i < retry(); ++i) {
@ -82,8 +82,8 @@ void FluHttp::post(QString url,QJSValue callable,QVariantMap params,QVariantMap
}); });
} }
void FluHttp::postString(QString url,QJSValue callable,QString params,QVariantMap headers){ void FluHttp::postString(QString url,QJSValue callable,QString params,QMap<QString, QVariant> headers){
QVariantMap data = invokeIntercept(params,headers,"postString").toMap(); QMap<QString, QVariant> data = invokeIntercept(params,headers,"postString").toMap();
QThreadPool::globalInstance()->start([=](){ QThreadPool::globalInstance()->start([=](){
onStart(callable); onStart(callable);
for (int i = 0; i < retry(); ++i) { for (int i = 0; i < retry(); ++i) {
@ -121,8 +121,8 @@ void FluHttp::postString(QString url,QJSValue callable,QString params,QVariantMa
}); });
} }
void FluHttp::postJson(QString url,QJSValue callable,QVariantMap params,QVariantMap headers){ void FluHttp::postJson(QString url,QJSValue callable,QMap<QString, QVariant> params,QMap<QString, QVariant> headers){
QVariantMap data = invokeIntercept(params,headers,"postJson").toMap(); QMap<QString, QVariant> data = invokeIntercept(params,headers,"postJson").toMap();
QThreadPool::globalInstance()->start([=](){ QThreadPool::globalInstance()->start([=](){
onStart(callable); onStart(callable);
for (int i = 0; i < retry(); ++i) { for (int i = 0; i < retry(); ++i) {
@ -160,8 +160,8 @@ void FluHttp::postJson(QString url,QJSValue callable,QVariantMap params,QVariant
}); });
} }
void FluHttp::get(QString url,QJSValue callable,QVariantMap params,QVariantMap headers){ void FluHttp::get(QString url,QJSValue callable,QMap<QString, QVariant> params,QMap<QString, QVariant> headers){
QVariantMap data = invokeIntercept(params,headers,"get").toMap(); QMap<QString, QVariant> data = invokeIntercept(params,headers,"get").toMap();
QThreadPool::globalInstance()->start([=](){ QThreadPool::globalInstance()->start([=](){
for (int i = 0; i < retry(); ++i) { for (int i = 0; i < retry(); ++i) {
onStart(callable); onStart(callable);
@ -198,8 +198,8 @@ void FluHttp::get(QString url,QJSValue callable,QVariantMap params,QVariantMap h
}); });
} }
void FluHttp::download(QString url,QJSValue callable,QString filePath,QVariantMap params,QVariantMap headers){ void FluHttp::download(QString url,QJSValue callable,QString filePath,QMap<QString, QVariant> params,QMap<QString, QVariant> headers){
QVariantMap data = invokeIntercept(params,headers,"download").toMap(); QMap<QString, QVariant> data = invokeIntercept(params,headers,"download").toMap();
QThreadPool::globalInstance()->start([=](){ QThreadPool::globalInstance()->start([=](){
onStart(callable); onStart(callable);
QNetworkAccessManager manager; QNetworkAccessManager manager;
@ -239,7 +239,7 @@ void FluHttp::download(QString url,QJSValue callable,QString filePath,QVariantMa
} }
QVariant FluHttp::invokeIntercept(const QVariant& params,const QVariant& headers,const QString& method){ QVariant FluHttp::invokeIntercept(const QVariant& params,const QVariant& headers,const QString& method){
QVariantMap requet = { QMap<QString, QVariant> requet = {
{"params",params}, {"params",params},
{"headers",headers}, {"headers",headers},
{"method",method} {"method",method}

View File

@ -26,11 +26,12 @@ private:
public: public:
explicit FluHttp(QObject *parent = nullptr); explicit FluHttp(QObject *parent = nullptr);
~FluHttp(); ~FluHttp();
Q_INVOKABLE void get(QString url,QJSValue callable,QVariantMap params = {},QVariantMap headers = {}); //神坑!!! 如果参数使用QVariantMap会有问题在6.4.3版本中QML一调用就会编译失败。所以改用QMap<QString, QVariant>
Q_INVOKABLE void post(QString url,QJSValue callable,QVariantMap params = {},QVariantMap headers = {}); Q_INVOKABLE void get(QString url,QJSValue callable,QMap<QString, QVariant> = {},QMap<QString, QVariant> headers = {});
Q_INVOKABLE void postString(QString url,QJSValue callable,QString params = "",QVariantMap headers = {}); Q_INVOKABLE void post(QString url,QJSValue callable,QMap<QString, QVariant> = {},QMap<QString, QVariant> headers = {});
Q_INVOKABLE void postJson(QString url,QJSValue callable,QVariantMap params = {},QVariantMap headers = {}); Q_INVOKABLE void postString(QString url,QJSValue callable,QString params = "",QMap<QString, QVariant> headers = {});
Q_INVOKABLE void download(QString url,QJSValue callable,QString filePath,QVariantMap params = {},QVariantMap headers = {}); Q_INVOKABLE void postJson(QString url,QJSValue callable,QMap<QString, QVariant> params = {},QMap<QString, QVariant> headers = {});
Q_INVOKABLE void download(QString url,QJSValue callable,QString filePath,QMap<QString, QVariant> params = {},QMap<QString, QVariant> headers = {});
Q_INVOKABLE void cancel(); Q_INVOKABLE void cancel();
private: private:
QList<QPointer<QNetworkReply>> _cache; QList<QPointer<QNetworkReply>> _cache;

View File

@ -67,7 +67,8 @@ Popup{
id:canvas id:canvas
anchors.fill: parent anchors.fill: parent
onPaint: { onPaint: {
d.pos = d.target.mapToItem(control,0,0) d.pos = d.target.mapToGlobal(0,0)
d.pos = Qt.point(d.pos.x-d.window.x,d.pos.y-d.window.y)
var ctx = canvas.getContext("2d") var ctx = canvas.getContext("2d")
ctx.clearRect(0, 0, canvasSize.width, canvasSize.height) ctx.clearRect(0, 0, canvasSize.width, canvasSize.height)
ctx.save() ctx.save()
@ -94,7 +95,6 @@ Popup{
ctx.closePath() ctx.closePath()
} }
} }
FluArea{ FluArea{
id:layout_panne id:layout_panne
radius: 5 radius: 5
@ -160,8 +160,8 @@ Popup{
top: parent.top top: parent.top
margins: 10 margins: 10
} }
width: 20 width: 26
height: 20 height: 26
iconSize: 12 iconSize: 12
iconSource : FluentIcons.ChromeClose iconSource : FluentIcons.ChromeClose
onClicked: { onClicked: {

View File

@ -1,11 +1,10 @@
module FluentUI module FluentUI
classname FluentUIPlugin classname FluentUIPlugin
designersupported
typeinfo plugins.qmltypes typeinfo plugins.qmltypes
FluAcrylic 1.0 Controls/FluAcrylic.qml
FluAppBar 1.0 Controls/FluAppBar.qml FluAppBar 1.0 Controls/FluAppBar.qml
FluArea 1.0 Controls/FluArea.qml FluArea 1.0 Controls/FluArea.qml
FluAcrylic 1.0 Controls/FluAcrylic.qml
FluAutoSuggestBox 1.0 Controls/FluAutoSuggestBox.qml FluAutoSuggestBox 1.0 Controls/FluAutoSuggestBox.qml
FluBadge 1.0 Controls/FluBadge.qml FluBadge 1.0 Controls/FluBadge.qml
FluBreadcrumbBar 1.0 Controls/FluBreadcrumbBar.qml FluBreadcrumbBar 1.0 Controls/FluBreadcrumbBar.qml
@ -17,9 +16,9 @@ FluCheckBox 1.0 Controls/FluCheckBox.qml
FluColorPicker 1.0 Controls/FluColorPicker.qml FluColorPicker 1.0 Controls/FluColorPicker.qml
FluColorView 1.0 Controls/FluColorView.qml FluColorView 1.0 Controls/FluColorView.qml
FluComboBox 1.0 Controls/FluComboBox.qml FluComboBox 1.0 Controls/FluComboBox.qml
FluControl 1.0 Controls/FluControl.qml
FluContentDialog 1.0 Controls/FluContentDialog.qml FluContentDialog 1.0 Controls/FluContentDialog.qml
FluContentPage 1.0 Controls/FluContentPage.qml FluContentPage 1.0 Controls/FluContentPage.qml
FluControl 1.0 Controls/FluControl.qml
FluCopyableText 1.0 Controls/FluCopyableText.qml FluCopyableText 1.0 Controls/FluCopyableText.qml
FluDatePicker 1.0 Controls/FluDatePicker.qml FluDatePicker 1.0 Controls/FluDatePicker.qml
FluDivider 1.0 Controls/FluDivider.qml FluDivider 1.0 Controls/FluDivider.qml
@ -30,15 +29,15 @@ FluFlipView 1.0 Controls/FluFlipView.qml
FluFocusRectangle 1.0 Controls/FluFocusRectangle.qml FluFocusRectangle 1.0 Controls/FluFocusRectangle.qml
FluIcon 1.0 Controls/FluIcon.qml FluIcon 1.0 Controls/FluIcon.qml
FluIconButton 1.0 Controls/FluIconButton.qml FluIconButton 1.0 Controls/FluIconButton.qml
FluImage 1.0 Controls/FluImage.qml
FluInfoBar 1.0 Controls/FluInfoBar.qml FluInfoBar 1.0 Controls/FluInfoBar.qml
FluItem 1.0 Controls/FluItem.qml FluItem 1.0 Controls/FluItem.qml
FluImage 1.0 Controls/FluImage.qml FluItemDelegate 1.0 Controls/FluItemDelegate.qml
FluMediaPlayer 1.0 Controls/FluMediaPlayer.qml
FluMenu 1.0 Controls/FluMenu.qml FluMenu 1.0 Controls/FluMenu.qml
FluMenuItem 1.0 Controls/FluMenuItem.qml
FluMenuSeparator 1.0 Controls/FluMenuSeparator.qml
FluMenuBar 1.0 Controls/FluMenuBar.qml FluMenuBar 1.0 Controls/FluMenuBar.qml
FluMenuBarItem 1.0 Controls/FluMenuBarItem.qml FluMenuBarItem 1.0 Controls/FluMenuBarItem.qml
FluMenuItem 1.0 Controls/FluMenuItem.qml
FluMenuSeparator 1.0 Controls/FluMenuSeparator.qml
FluMultilineTextBox 1.0 Controls/FluMultilineTextBox.qml FluMultilineTextBox 1.0 Controls/FluMultilineTextBox.qml
FluNavigationView 1.0 Controls/FluNavigationView.qml FluNavigationView 1.0 Controls/FluNavigationView.qml
FluObject 1.0 Controls/FluObject.qml FluObject 1.0 Controls/FluObject.qml
@ -60,14 +59,16 @@ FluRadioButtons 1.0 Controls/FluRadioButtons.qml
FluRatingControl 1.0 Controls/FluRatingControl.qml FluRatingControl 1.0 Controls/FluRatingControl.qml
FluRectangle 1.0 Controls/FluRectangle.qml FluRectangle 1.0 Controls/FluRectangle.qml
FluRemoteLoader 1.0 Controls/FluRemoteLoader.qml FluRemoteLoader 1.0 Controls/FluRemoteLoader.qml
FluScrollablePage 1.0 Controls/FluScrollablePage.qml
FluScrollBar 1.0 Controls/FluScrollBar.qml FluScrollBar 1.0 Controls/FluScrollBar.qml
FluScrollIndicator 1.0 Controls/FluScrollIndicator.qml
FluScrollablePage 1.0 Controls/FluScrollablePage.qml
FluShadow 1.0 Controls/FluShadow.qml FluShadow 1.0 Controls/FluShadow.qml
FluSlider 1.0 Controls/FluSlider.qml FluSlider 1.0 Controls/FluSlider.qml
FluSpinBox 1.0 Controls/FluSpinBox.qml FluSpinBox 1.0 Controls/FluSpinBox.qml
FluStatusView 1.0 Controls/FluStatusView.qml FluStatusView 1.0 Controls/FluStatusView.qml
FluTableView 1.0 Controls/FluTableView.qml
FluTabView 1.0 Controls/FluTabView.qml FluTabView 1.0 Controls/FluTabView.qml
FluTableModelColumn 1.0 Controls/FluTableModelColumn.qml
FluTableView 1.0 Controls/FluTableView.qml
FluText 1.0 Controls/FluText.qml FluText 1.0 Controls/FluText.qml
FluTextBox 1.0 Controls/FluTextBox.qml FluTextBox 1.0 Controls/FluTextBox.qml
FluTextBoxBackground 1.0 Controls/FluTextBoxBackground.qml FluTextBoxBackground 1.0 Controls/FluTextBoxBackground.qml
@ -77,7 +78,7 @@ FluTimePicker 1.0 Controls/FluTimePicker.qml
FluToggleButton 1.0 Controls/FluToggleButton.qml FluToggleButton 1.0 Controls/FluToggleButton.qml
FluToggleSwitch 1.0 Controls/FluToggleSwitch.qml FluToggleSwitch 1.0 Controls/FluToggleSwitch.qml
FluTooltip 1.0 Controls/FluTooltip.qml FluTooltip 1.0 Controls/FluTooltip.qml
FluTour 1.0 Controls/FluTour.qml
FluTreeView 1.0 Controls/FluTreeView.qml FluTreeView 1.0 Controls/FluTreeView.qml
FluWindow 1.0 Controls/FluWindow.qml FluWindow 1.0 Controls/FluWindow.qml
FluSingleton 1.0 Controls/FluSingleton.qml
plugin fluentuiplugin plugin fluentuiplugin