Sophie

Sophie

distrib > Mageia > 7 > armv7hl > media > core-updates > by-pkgid > 845e36bb3ecce380666d628d88446962 > files > 307

qtdatavis3d5-doc-5.12.6-1.mga7.noarch.rpm

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>main.qml Example File | Qt Data Visualization 5.12.6</title>
  <link rel="stylesheet" type="text/css" href="style/offline-simple.css" />
  <script type="text/javascript">
    document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css");
    // loading style sheet breaks anchors that were jumped to before
    // so force jumping to anchor again
    setTimeout(function() {
        var anchor = location.hash;
        // need to jump to different anchor first (e.g. none)
        location.hash = "#";
        setTimeout(function() {
            location.hash = anchor;
        }, 0);
    }, 0);
  </script>
</head>
<body>
<div class="header" id="qtdocheader">
  <div class="main">
    <div class="main-rounded">
      <div class="navigationbar">
        <table><tr>
<td >Qt 5.12</td><td ><a href="qtdatavisualization-index.html">Qt Data Visualization</a></td><td ><a href="qtdatavisualization-qmloscilloscope-example.html">Qt Quick 2 Oscilloscope Example</a></td><td >main.qml Example File</td></tr></table><table class="buildversion"><tr>
<td id="buildversion" width="100%" align="right"><a href="qtdatavisualization-index.html">Qt Data Visualization | Commercial or GPLv3</a></td>
        </tr></table>
      </div>
    </div>
<div class="content">
<div class="line">
<div class="content mainContent">
<div class="sidebar"><div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">main.qml Example File</h1>
<span class="subtitle">qmloscilloscope/qml/qmloscilloscope/main.qml</span>
<!-- $$$qmloscilloscope/qml/qmloscilloscope/main.qml-description -->
<div class="descr"> <a name="details"></a>
<pre class="qml">

  /****************************************************************************
  **
  ** Copyright (C) 2016 The Qt Company Ltd.
  ** Contact: https://www.qt.io/licensing/
  **
  ** This file is part of the Qt Data Visualization module of the Qt Toolkit.
  **
  ** $QT_BEGIN_LICENSE:GPL$
  ** 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.
  **
  ** GNU General Public License Usage
  ** Alternatively, this file may be used under the terms of the GNU
  ** General Public License version 3 or (at your option) any later version
  ** approved by the KDE Free Qt Foundation. The licenses are as published by
  ** the Free Software Foundation and appearing in the file LICENSE.GPL3
  ** included in the packaging of this file. Please review the following
  ** information to ensure the GNU General Public License requirements will
  ** be met: https://www.gnu.org/licenses/gpl-3.0.html.
  **
  ** $QT_END_LICENSE$
  **
  ****************************************************************************/

  import QtQuick 2.1
  import QtQuick.Layouts 1.0
  import QtQuick.Controls 1.0
  import QtDataVisualization 1.1
  import "."

  Item {
      id: mainView
      width: 1280
      height: 1024

      property int sampleColumns: sampleSlider.value
      property int sampleRows: sampleColumns / 2
      property int sampleCache: 24

      onSampleRowsChanged: {
          surfaceSeries.selectedPoint = surfaceSeries.invalidSelectionPosition
          generateData()
      }

      Item {
          id: dataView
          anchors.bottom: parent.bottom
          width: parent.width
          height: parent.height - buttonLayout.height

          Surface3D {
              id: surfaceGraph

              width: dataView.width
              height: dataView.height
              shadowQuality: AbstractGraph3D.ShadowQualityNone
              selectionMode: AbstractGraph3D.SelectionSlice | AbstractGraph3D.SelectionItemAndRow
              renderingMode: AbstractGraph3D.RenderDirectToBackground

              axisX.labelFormat: "%d ms"
              axisY.labelFormat: "%d W"
              axisZ.labelFormat: "%d mV"
              axisX.min: 0
              axisY.min: 0
              axisZ.min: 0
              axisX.max: 1000
              axisY.max: 100
              axisZ.max: 800
              axisX.segmentCount: 4
              axisY.segmentCount: 4
              axisZ.segmentCount: 4
              measureFps: true

              onCurrentFpsChanged: {
                  if (fps > 10)
                      fpsText.text = "FPS: " + Math.round(surfaceGraph.currentFps)
                  else
                      fpsText.text = "FPS: " + Math.round(surfaceGraph.currentFps * 10.0) / 10.0
              }

              Surface3DSeries {
                  id: surfaceSeries
                  drawMode: Surface3DSeries.DrawSurface;
                  flatShadingEnabled: false;
                  meshSmooth: true
                  itemLabelFormat: "@xLabel, @zLabel: @yLabel"
                  itemLabelVisible: false

                  onItemLabelChanged: {
                      if (surfaceSeries.selectedPoint === surfaceSeries.invalidSelectionPosition)
                          selectionText.text = "No selection"
                      else
                          selectionText.text = surfaceSeries.itemLabel
                  }
              }

              Component.onCompleted: mainView.generateData()
          }
      }

      Timer {
          id: refreshTimer
          interval: 1000 / frequencySlider.value
          running: true
          repeat: true
          onTriggered: dataSource.update(surfaceSeries)
      }

      Rectangle {
          width: parent.width
          height: flatShadingToggle.height * 2
          anchors.left: parent.left
          anchors.top: parent.top
          color: surfaceGraph.theme.backgroundColor

          ColumnLayout {
              anchors.fill: parent
              RowLayout {
                  id: sliderLayout
                  anchors.top: parent.top
                  Layout.fillHeight: true
                  Layout.fillWidth: true
                  Layout.minimumHeight: flatShadingToggle.height
                  spacing: 0

                  Rectangle {
                      Layout.fillHeight: true
                      Layout.fillWidth: true
                      Layout.minimumWidth: samplesText.implicitWidth + 120
                      Layout.maximumWidth: samplesText.implicitWidth + 120
                      Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter

                      border.color: "gray"
                      border.width: 1
                      radius: 4

                      RowLayout {
                          anchors.fill: parent
                          anchors.margins: parent.border.width + 1

                          Slider {
                              id: sampleSlider
                              Layout.fillHeight: true
                              Layout.fillWidth: true
                              Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
                              Layout.minimumWidth: 80
                              minimumValue: mainView.sampleCache * 2
                              maximumValue: minimumValue * 10
                              stepSize: mainView.sampleCache
                              updateValueWhileDragging: false
                              Component.onCompleted: value = minimumValue * 2
                          }

                          Rectangle {
                              Layout.fillHeight: true
                              Layout.fillWidth: true
                              Layout.minimumWidth: samplesText.implicitWidth + 10
                              Layout.maximumWidth: samplesText.implicitWidth + 10
                              Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter

                              Text {
                                  id: samplesText
                                  text: "Samples: " + (mainView.sampleRows * mainView.sampleColumns)
                                  anchors.fill: parent
                                  verticalAlignment: Text.AlignVCenter
                                  horizontalAlignment: Text.AlignHCenter
                              }
                          }
                      }
                  }

                  Rectangle {
                      Layout.fillHeight: true
                      Layout.fillWidth: true
                      Layout.minimumWidth: frequencyText.implicitWidth + 120
                      Layout.maximumWidth: frequencyText.implicitWidth + 120
                      Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter

                      border.color: "gray"
                      border.width: 1
                      radius: 4

                      RowLayout {
                          anchors.fill: parent
                          anchors.margins: parent.border.width + 1

                          Slider {
                              id: frequencySlider
                              Layout.fillHeight: true
                              Layout.fillWidth: true
                              Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
                              Layout.minimumWidth: 80
                              minimumValue: 2
                              maximumValue: 60
                              stepSize: 2
                              updateValueWhileDragging: true
                              value: 30
                          }

                          Rectangle {
                              Layout.fillHeight: true
                              Layout.fillWidth: true
                              Layout.minimumWidth: frequencyText.implicitWidth + 10
                              Layout.maximumWidth: frequencyText.implicitWidth + 10
                              Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter

                              Text {
                                  id: frequencyText
                                  text: "Freq: " + frequencySlider.value + " Hz"
                                  anchors.fill: parent
                                  verticalAlignment: Text.AlignVCenter
                                  horizontalAlignment: Text.AlignHCenter
                              }
                          }
                      }
                  }

                  Rectangle {
                      Layout.fillHeight: true
                      Layout.fillWidth: true
                      Layout.minimumWidth: fpsText.implicitWidth + 10
                      Layout.maximumWidth: fpsText.implicitWidth + 10
                      Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter

                      border.color: "gray"
                      border.width: 1
                      radius: 4

                      Text {
                          id: fpsText
                          anchors.fill: parent
                          verticalAlignment: Text.AlignVCenter
                          horizontalAlignment: Text.AlignHCenter
                      }
                  }

                  Rectangle {
                      Layout.fillHeight: true
                      Layout.fillWidth: true
                      Layout.minimumWidth: selectionText.implicitWidth + 10
                      Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter

                      border.color: "gray"
                      border.width: 1
                      radius: 4

                      Text {
                          id: selectionText
                          anchors.fill: parent
                          verticalAlignment: Text.AlignVCenter
                          horizontalAlignment: Text.AlignHCenter
                          text: "No selection"
                      }
                  }
              }

              RowLayout {
                  id: buttonLayout
                  Layout.fillHeight: true
                  Layout.fillWidth: true
                  Layout.minimumHeight: flatShadingToggle.height
                  anchors.bottom: parent.bottom
                  spacing: 0

                  NewButton {
                      id: flatShadingToggle
                      Layout.fillHeight: true
                      Layout.fillWidth: true

                      text: surfaceSeries.flatShadingSupported ? "Show Flat" : "Flat not supported"
                      enabled: surfaceSeries.flatShadingSupported

                      onClicked: {
                          if (surfaceSeries.flatShadingEnabled === true) {
                              surfaceSeries.flatShadingEnabled = false;
                              text = "Show Flat"
                          } else {
                              surfaceSeries.flatShadingEnabled = true;
                              text = "Show Smooth"
                          }
                      }
                  }

                  NewButton {
                      id: surfaceGridToggle
                      Layout.fillHeight: true
                      Layout.fillWidth: true

                      text: "Show Surface Grid"

                      onClicked: {
                          if (surfaceSeries.drawMode & Surface3DSeries.DrawWireframe) {
                              surfaceSeries.drawMode &= ~Surface3DSeries.DrawWireframe;
                              text = "Show Surface Grid"
                          } else {
                              surfaceSeries.drawMode |= Surface3DSeries.DrawWireframe;
                              text = "Hide Surface Grid"
                          }
                      }
                  }

                  NewButton {
                      id: exitButton
                      Layout.fillHeight: true
                      Layout.fillWidth: true

                      text: "Quit"

                      onClicked: Qt.quit(0);
                  }
              }
          }

      }

      function generateData() {
          dataSource.generateData(mainView.sampleCache, mainView.sampleRows,
                                  mainView.sampleColumns, surfaceGraph.axisX.min,
                                  surfaceGraph.axisX.max, surfaceGraph.axisY.min,
                                  surfaceGraph.axisY.max, surfaceGraph.axisZ.min,
                                  surfaceGraph.axisZ.max)
      }
  }

</pre>
</div>
<!-- @@@qmloscilloscope/qml/qmloscilloscope/main.qml -->
        </div>
       </div>
   </div>
   </div>
</div>
<div class="footer">
   <p>
   <acronym title="Copyright">&copy;</acronym> 2019 The Qt Company Ltd.
   Documentation contributions included herein are the copyrights of
   their respective owners.<br/>    The documentation provided herein is licensed under the terms of the    <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation    License version 1.3</a> as published by the Free Software Foundation.<br/>    Qt and respective logos are trademarks of The Qt Company Ltd.     in Finland and/or other countries worldwide. All other trademarks are property
   of their respective owners. </p>
</div>
</body>
</html>