Viadeo Twitter Google Bookmarks ! Facebook Digg del.icio.us MySpace Yahoo MyWeb Blinklist Netvouz Reddit Simpy StumbleUpon Bookmarks Windows Live Favorites 
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Classes principales  ·  Annotées  ·  Classes groupées  ·  Modules  ·  Fonctions  · 

main.qml Example File

sensors/qmlqtsensors/main.qml
 /****************************************************************************
 **
 ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
 ** Contact: http://www.qt-project.org/
 **
 ** This file is part of the QtSensors module of the Qt Toolkit.
 **
 ** $QT_BEGIN_LICENSE:BSD$
 ** 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 Nokia Corporation and its Subsidiary(-ies) 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$
 **
 ****************************************************************************/

 /* Layout
                                                                                   mainWnd
                                                                                  /
 ---------------------------------------------------------------------------------
 |--------------------------------------------------------------------------------
 ||                                  labelTitle                                  |
 |--------------------------------------------------------------------------------
 |-------------------------------------------------------------------------------- <---- tiltLine
 |--------------------------------------------------------------------------------
 ||                                  labelTilt                                   |
 |--------------------------------------------------------------------------------
 |         / accuracyRect                               / speedRect
 |-------------------------------------------||----------------------------------|
 || Accuracy <----- textAccuracy             || Speed <-----textSpeed            |
 ||  value   <- textAccuracyValue            ||  value    <- textSpeedValue      |
 || ----------------- ------------------     || --------------- ---------------- |
 || | accuracyLower | | accuracyHigher |     || | speedLower  | | speedHigher  | |
 || ----------------- ------------------     || --------------- ---------------- |
 |------------------------------------------ ||----------------------------------|
 | -----------
 | |Calibrate|    <------------------ calibrate
 | -----------
 | ---------
 | |Degree |    <-------------------- useRadian                   X Rotation: 0  <------------------ xrottext
 | ---------
 | ---------
 | |Start  |    <-------------------- tiltStart                   Y Rotation: 0  <------------------ yrottext
 | ---------
 |-------------------------------------------------------------------------------- <---- ambientlightLine
 |--------------------------------------------------------------------------------
 ||                                  labelAmbientLight                           |
 |--------------------------------------------------------------------------------
 | ---------
 | |Start  |    <-------------------- ablStart                    Ambient light: -  <--------------- abltext
 | ---------
 |-------------------------------------------------------------------------------- <---- proximityLine
 |--------------------------------------------------------------------------------
 ||                                  labelProximityLight                           |
 |--------------------------------------------------------------------------------
 | ---------
 | |Start  |    <-------------------- proxiStart                  Proximity: -  <--------------- proxitext
 | ---------
 ------------------------------------------------------------------------------
 */

 //Import the declarative plugins
 import QtQuick 2.0
 import "components"

 import QtSensors 5.0

 ApplicationWindow {
     id: appWnd

     Rectangle {
         id: mainWnd
         x: 0
         y: 0
         width: 320
         height: 480
         color: "transparent"

         property int accuracy: 1
         property string speed: "Slow"

         Text {
             id: labelTitle
             anchors.top: mainWnd.top
             anchors.topMargin: 25
             anchors.left: mainWnd.left
             anchors.right: mainWnd.right

             horizontalAlignment: Text.AlignHCenter
             font.pixelSize: 30
             font.bold: true
             text: "QML QtSensors"
         }

         //Tile region

         Rectangle {
             id: tiltLine
             anchors.top: labelTitle.bottom
             anchors.topMargin: 5
             anchors.left: mainWnd.left
             anchors.leftMargin: 5
             anchors.right: mainWnd.right
             anchors.rightMargin: 5
             border.width: 1
             height: 1
             border.color: "#888888"
         }

         Text {
             id: labelTilt
             anchors.top: tiltLine.bottom
             anchors.topMargin: 5
             anchors.left: mainWnd.left
             anchors.right: mainWnd.right

             horizontalAlignment: Text.AlignHCenter
             font.bold: true
             text: "TiltSensor"
         }

         TiltSensor {
             id: tilt
             unit: TiltSensor.Degrees
             enabled: false
             accuracy: 1.0
             speed: TiltSensor.Slow
         }

         Rectangle{
             id: accuracyRect
             anchors.top: labelTilt.bottom
             anchors.topMargin: 5
             anchors.left: mainWnd.left
             anchors.leftMargin: 5
             anchors.right: mainWnd.right
             anchors.rightMargin: mainWnd.width / 2
             height: 110
             color: "transparent"

             Text{
                 id: textAccuracy
                 anchors.top: accuracyRect.top
                 anchors.left: accuracyRect.left
                 text: "Accuracy"
                 font.bold: true
             }

             Text{
                 id: textAccuracyValue
                 anchors.top: textAccuracy.bottom
                 anchors.topMargin: 5
                 anchors.left: accuracyHigher.left
                 anchors.right: accuracyHigher.right
                 text: mainWnd.accuracy
                 verticalAlignment: Text.AlignVCenter
             }

             Button{
                 id: accuracyLower
                 anchors.top: textAccuracyValue.bottom
                 anchors.left: accuracyRect.left
                 height: 30
                 width: 40
                 text: "-"

                 onClicked:{
                     if (mainWnd.accuracy > 1){
                         mainWnd.accuracy--;
                         tilt.accuracy = mainWnd.accuracy;
                     }
                 }
             }

             Button{
                 id: accuracyHigher
                 anchors.top: textAccuracyValue.bottom
                 anchors.left: accuracyLower.right
                 height: 30
                 width: 40
                 text: "+"

                 onClicked:{
                     if (mainWnd.accuracy < 10){
                         mainWnd.accuracy++;
                         tilt.accuracy = mainWnd.accuracy;
                     }
                 }
             }
         }

         Rectangle{
             id: speedRect
             anchors.top: labelTilt.bottom
             anchors.topMargin: 5
             anchors.left: mainWnd.left
             anchors.leftMargin: mainWnd.width / 2
             anchors.right: mainWnd.right
             anchors.rightMargin: 5
             height: 110
             color: "transparent"

             Text{
                 id: textSpeed
                 anchors.top: speedRect.top
                 anchors.left: speedRect.left
                 text: "Speed"
                 font.bold: true
             }

             Text{
                 id: textSpeedValue
                 anchors.top: textSpeed.bottom
                 anchors.topMargin: 5
                 anchors.left: speedLower.left
                 anchors.right: speedHigher.right
                 text: mainWnd.speed
                 verticalAlignment: Text.AlignVCenter
             }

             Button{
                 id: speedLower
                 anchors.top: textSpeedValue.bottom
                 anchors.left: speedRect.left
                 height: 30
                 width: 40
                 text: "-"

                 onClicked:{
                     if (tilt.speed === TiltSensor.Fast) {
                         mainWnd.speed = "Medium";
                         tilt.speed = TiltSensor.Medium;
                     }
                     else if (tilt.speed === TiltSensor.Medium) {
                         mainWnd.speed = "Slow";
                         tilt.speed = TiltSensor.Slow;
                     }
                 }
             }

             Button{
                 id: speedHigher
                 anchors.top: textSpeedValue.bottom
                 anchors.left: speedLower.right
                 height: 30
                 width: 40
                 text: "+"

                 onClicked:{
                     if (tilt.speed === TiltSensor.Slow) {
                         mainWnd.speed = "Medium";
                         tilt.speed = TiltSensor.Medium;
                     }
                     else if (tilt.speed === TiltSensor.Medium) {
                         mainWnd.speed = "Fast";
                         tilt.speed = TiltSensor.Fast;
                     }
                 }
             }
         }

         Button{
             id: calibrate
             anchors.left: mainWnd.left
             anchors.leftMargin: 5
             anchors.top: accuracyRect.bottom
             height: 30
             width: 80
             text: "Calibrate"

             onClicked:{
                 tilt.calibrate();
             }
         }

         Button{
             id: useRadian
             anchors.top: calibrate.bottom
             anchors.left: mainWnd.left
             anchors.leftMargin: 5
             height: 30
             width: 80
             text: (tilt !== null ? tilt.unit === TiltSensor.Radians ? "Degree" : "Radians" : "Degree")

             onClicked:{
                 tilt.unit = (useRadian.text === "Radians"  ? TiltSensor.Radians : TiltSensor.Degrees);
             }
         }

         Button{
             id: tiltStart
             anchors.top: useRadian.bottom
             anchors.left: mainWnd.left
             anchors.leftMargin: 5
             height: 30
             width: 80
             text: tilt.enabled ? "Stop" : "Start"

             onClicked:{
                 tilt.enabled = (tiltStart.text === "Start"  ? true: false);
             }
         }

         Text {
             id: xrottext
             anchors.right: mainWnd.right
             anchors.rightMargin: 5
             anchors.left: useRadian.right
             anchors.leftMargin: 15
             anchors.top: useRadian.top
             anchors.bottom: useRadian.bottom
             verticalAlignment: Text.AlignVCenter
             text: "X Rotation: " + tilt.xRotation + (tilt.unit === TiltSensor.Radians ? " rad" : "°")
         }

         Text {
             id: yrottext
             anchors.right: mainWnd.right
             anchors.rightMargin: 5
             anchors.left: tiltStart.right
             anchors.leftMargin: 15
             anchors.top: tiltStart.top
             anchors.bottom: tiltStart.bottom
             verticalAlignment: Text.AlignVCenter
             text: "Y Rotation: " + tilt.yRotation + (tilt.unit === TiltSensor.Radians ? " rad" : "°")
         }

         //Ambient Light region

         Rectangle {
             id: ambientlightLine
             anchors.top: tiltStart.bottom
             anchors.topMargin: 5
             anchors.left: mainWnd.left
             anchors.leftMargin: 5
             anchors.right: mainWnd.right
             anchors.rightMargin: 5
             border.width: 1
             height: 1
             border.color: "#888888"
         }

         Text {
             id: labelAmbientLight
             anchors.top: ambientlightLine.bottom
             anchors.topMargin: 5
             anchors.left: mainWnd.left
             anchors.right: mainWnd.right

             horizontalAlignment: Text.AlignHCenter
             font.bold: true
             text: "AmbientLightSensor"
         }

         AmbientLightSensor {
             id: ambientlight
             enabled: false
             onLightLevelChanged:{
                 if (ambientlight.lightLevel == AmbientLightSensor.Unknown)
                     ambientlighttext.text = "Ambient light: Unknown";
                 else if (ambientlight.lightLevel == AmbientLightSensor.Dark)
                     ambientlighttext.text = "Ambient light: Dark";
                 else if (ambientlight.lightLevel == AmbientLightSensor.Twilight)
                     ambientlighttext.text = "Ambient light: Twilight";
                 else if (ambientlight.lightLevel == AmbientLightSensor.Light)
                     ambientlighttext.text = "Ambient light: Light";
                 else if (ambientlight.lightLevel == AmbientLightSensor.Bright)
                     ambientlighttext.text = "Ambient light: Bright";
                 else if (ambientlight.lightLevel == AmbientLightSensor.Sunny)
                     ambientlighttext.text = "Ambient light: Sunny";
             }
         }

         Button{
             id: ambientlightStart
             anchors.top: labelAmbientLight.bottom
             anchors.topMargin: 5
             anchors.left: mainWnd.left
             anchors.leftMargin: 5
             height: 30
             width: 80
             text: ambientlight.enabled ? "Stop" : "Start"

             onClicked:{
                 ambientlight.enabled = (ambientlightStart.text === "Start"  ? true: false);
             }
         }

         Text {
             id: ambientlighttext
             anchors.left: ambientlightStart.right
             anchors.leftMargin: 15
             anchors.top: ambientlightStart.top
             anchors.bottom: ambientlightStart.bottom
             verticalAlignment: Text.AlignVCenter
             text: "Ambient light: -"
         }

         //Proximity region

         Rectangle {
             id: proximityLine
             anchors.top: ambientlightStart.bottom
             anchors.topMargin: 5
             anchors.left: mainWnd.left
             anchors.leftMargin: 5
             anchors.right: mainWnd.right
             anchors.rightMargin: 5
             border.width: 1
             height: 1
             border.color: "#888888"
         }

         Text {
             id: labelProximityLight
             anchors.top: proximityLine.bottom
             anchors.topMargin: 5
             anchors.left: mainWnd.left
             anchors.right: mainWnd.right
             horizontalAlignment: Text.AlignHCenter
             font.bold: true
             text: "ProximitySensor"
         }

         ProximitySensor {
             id: proxi
             enabled: false
         }

         Button{
             id: proxiStart
             anchors.top: labelProximityLight.bottom
             anchors.topMargin: 5
             anchors.left: mainWnd.left
             anchors.leftMargin: 5
             height: 30
             width: 80
             text: proxi.enabled ? "Stop" : "Start"

             onClicked:{
                 proxi.enabled = (proxiStart.text === "Start"  ? true: false);
             }
         }

         Text {
             id: proxitext
             anchors.left: proxiStart.right
             anchors.leftMargin: 15
             anchors.top: proxiStart.top
             anchors.bottom: proxiStart.bottom
             verticalAlignment: Text.AlignVCenter
             text: "Proximity: " + (proxi.near ? "near" : "far")
         }
     }
 }
Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. Qt 5.0-snapshot
Copyright © 2012 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP !
 
 
 
 
Partenaires

Hébergement Web