Advertisement
Guest User

Untitled

a guest
Nov 5th, 2019
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
QML 2.12 KB | None | 0 0
  1. import QtQuick 2.0
  2.  
  3. // Základem každého prvku je čtverec
  4. // Vlastně vytvořený posuvník
  5. Rectangle {
  6.     id: container
  7.     width: 400
  8.     height: 35
  9.     color: "#aaaaaa"
  10.     property alias rectColor: rect.color
  11.  
  12.     property double minValue: 0
  13.     property double maxValue: 200
  14.     property int value: rect.x/(container.width-rect.width) * (maxValue-minValue) + minValue
  15.  
  16.     Rectangle {
  17.         id: rect
  18.         width: 50; height: container.height
  19.         color: "red"
  20.  
  21.         // Textový prvek pro zobrazení textu
  22.         Text {
  23.             anchors.centerIn: parent;
  24.             text: container.value
  25.  
  26.         }
  27.  
  28.         // Oblast zachytávající události myši
  29.         MouseArea {
  30.             anchors.fill: parent
  31.             drag.target: rect
  32.             drag.axis: Drag.XAxis
  33.             drag.minimumX: 0
  34.             drag.maximumX: container.width - rect.width
  35.         }
  36.     }
  37. }
  38.  
  39. __________________________________________________________________________________________________________________________________________
  40.  
  41. import QtQuick 2.0
  42.  
  43. // Základem každého prvku je čtverec
  44. Rectangle {
  45.     id: btn;
  46.     width: 100
  47.     height: 100
  48.  
  49.     // Proměnné, které mají parametr property jsou přístupné zvenčí
  50.     property bool toggled;
  51.     property alias text: txt.text;
  52.     property color btnColor: "#777777";
  53.  
  54.     // Definování signálu
  55.     signal clicked();
  56.  
  57.  
  58.     // Změna barvy na základě, jestli je tlačítko aktivní "toggled"
  59.     color: toggled ? Qt.darker(btnColor) : btnColor
  60.     border.color: "#bbbbbb";
  61.     border.width: 3;
  62.  
  63.  
  64.     // Oblast pro zachytávaní události myši
  65.     MouseArea {
  66.         id: mouse;
  67.         anchors.fill: parent;
  68.         onClicked: {
  69.             btn.clicked(); // volání signálu definovaného výše
  70.         }
  71.     }
  72.  
  73.     // Textový prvek pro zobrazení textu
  74.     Text {
  75.         id: txt;
  76.         anchors.fill: parent;
  77.  
  78.         color: toggled ? "#0066FF" : "black"
  79.         font.pointSize: 22;
  80.         font.bold: true;
  81.  
  82.         horizontalAlignment: Text.AlignHCenter
  83.         verticalAlignment: Text.AlignVCenter
  84.  
  85.     }
  86.  
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement