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 1.69 KB | None | 0 0
  1. import QtQuick 2.0
  2.  
  3. // Základem každého prvku je čtverec
  4. Rectangle {
  5.     id: btn;
  6.     width: 100
  7.     height: 100
  8.  
  9.     property alias text: txt.text;
  10.  
  11.     // Proměnné, které mají parametr property jsou přístupné zvenčí
  12.     property color btnColor: "#777777";
  13.     property color textColor: mouse.pressed ? "#0066FF" : "black"
  14.  
  15.     // Definování signálu
  16.     signal clicked();
  17.  
  18.     border.color: "#bbbbbb";
  19.     border.width: 3;
  20.  
  21.     // TODO
  22.     // Upravte nastavení hodnoty color tak,
  23.     // aby při stisknutí myši se změnila barva tlačítka
  24.     //color: btnColor
  25.  
  26.     color: mouse.pressed ? "blue" : btnColor
  27.  
  28.  
  29.     // Samotná třída Rectangle nijak nezachytává signály
  30.     // ze vstupních zařízení. Pro jejich zachytávání a zpracování
  31.     // je potřeba vložit třídy k tomu určené.
  32.     // Oblast zachytávající události myši
  33.     // Lze použít oblushu události (onClicked, atd.)
  34.     // uvnitř i mimo tento prvek, pak je zapotřebí použít
  35.     // referenci přes id prvku. Lze i přistupovat k vlastnostem
  36.     // objektu (vnitřní hodnoty), např. mouse.pressed (viz výše).
  37.     MouseArea {
  38.         id: mouse;
  39.         anchors.fill: parent;
  40.         onClicked: {
  41.             btn.clicked();
  42.         }
  43.     }
  44.  
  45.     // Textový prvek pro zobrazení textu
  46.     Text {
  47.         id: txt;
  48.        
  49.         // TODO
  50.         // Nastavte parametry tohoto prvku tak,
  51.         // aby výsledný text byl zarovnán na střed tlačítka
  52.         // a měl vhodné formátování
  53.  
  54.         anchors.fill: parent;
  55.         horizontalAlignment: Text.AlignHCenter;
  56.         verticalAlignment: Text.AlignVCenter;
  57.         font.pointSize: 20;
  58.     }
  59.  
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement