From 4fc76f0d7ef4c6a115c033dd2cccd10ab68c4206 Mon Sep 17 00:00:00 2001 From: Peter Hartmann Date: Fri, 5 Jun 2020 20:38:32 +0200 Subject: [PATCH] Try to use quick shapes --- examples/iot-dashboard/MainContent.cpp | 2 ++ examples/iot-dashboard/MainWindow.cpp | 32 +++++++++++++++++++++--- examples/iot-dashboard/iot-dashboard.pro | 2 ++ 3 files changed, 33 insertions(+), 3 deletions(-) diff --git a/examples/iot-dashboard/MainContent.cpp b/examples/iot-dashboard/MainContent.cpp index a7bc3a4a..2b92f6da 100644 --- a/examples/iot-dashboard/MainContent.cpp +++ b/examples/iot-dashboard/MainContent.cpp @@ -5,6 +5,8 @@ #include +#include + MainContent::MainContent( QQuickItem *parent ) : QskLinearBox( Qt::Horizontal, parent ) { setSizePolicy( QskSizePolicy::Expanding, QskSizePolicy::Expanding ); diff --git a/examples/iot-dashboard/MainWindow.cpp b/examples/iot-dashboard/MainWindow.cpp index 527a5110..25f08b6c 100644 --- a/examples/iot-dashboard/MainWindow.cpp +++ b/examples/iot-dashboard/MainWindow.cpp @@ -5,12 +5,38 @@ #include +#include +#include + MainWindow::MainWindow() : QskWindow() { setPreferredSize( { 1024, 600 } ); setTitle( "IOT dashboard" ); - m_mainLayout = new QskLinearBox( Qt::Horizontal, contentItem() ); - m_menuBar = new MenuBar( m_mainLayout ); - m_mainContent = new MainContent( m_mainLayout ); + auto* shape = new QQuickShape( contentItem() ); + shape->setSize( { 500, 500 } ); + connect(this, &QQuickWindow::frameSwapped, [shape]() { + shape->setAsynchronous(!shape->asynchronous()); + qDebug() << "status:" << shape->rendererType() << shape->status(); + }); + + auto* shapePath = new QQuickShapePath( shape ); + shapePath->setFillColor( Qt::red ); + shapePath->setStrokeColor( Qt::blue ); + shapePath->setStrokeWidth( 5 ); + shapePath->setStartX( 5 ); + shapePath->setStartY( 5 ); + + auto* arc = new QQuickPathArc( shapePath ); + arc->setX( 50 ); + arc->setY( 50 ); + arc->setRadiusX( 100 ); + arc->setRadiusY( 100 ); + arc->setUseLargeArc( true ); + + qDebug() << "visible?" << shape->isVisible() << shape->size(); + +// m_mainLayout = new QskLinearBox( Qt::Horizontal, contentItem() ); +// m_menuBar = new MenuBar( m_mainLayout ); +// m_mainContent = new MainContent( m_mainLayout ); } diff --git a/examples/iot-dashboard/iot-dashboard.pro b/examples/iot-dashboard/iot-dashboard.pro index 58d79f4f..7199299f 100644 --- a/examples/iot-dashboard/iot-dashboard.pro +++ b/examples/iot-dashboard/iot-dashboard.pro @@ -1,5 +1,7 @@ CONFIG += qskexample +QT += quickshapes-private quick-private + SOURCES += \ Card.cpp \ DaytimeSkin.cpp \