Advertisement
Guest User

Untitled

a guest
Feb 13th, 2019
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
QML 2.35 KB | None | 0 0
  1. main.qml
  2.  
  3. import QtQuick 2.9
  4. import QtQuick.Window 2.2
  5. import QtQuick.Layouts 1.3
  6.  
  7. import "."
  8.  
  9. Window {
  10.     visible: true
  11.     width: 320
  12.     height: 240
  13.     title: qsTr("Hello World")
  14.  
  15.  
  16.     ColumnLayout {
  17.         anchors.centerIn: parent
  18.  
  19.         spacing: 10
  20.  
  21.         TextNumberRect {
  22.             number: 0
  23.             label: "Zero"
  24.         }
  25.  
  26.         TextNumberRect {
  27.             number: 10
  28.             label: "Ten"
  29.         }
  30.  
  31.         TextNumberRect {
  32.             number: 100
  33.             label: "Hundred"
  34.         }
  35.  
  36.         TextNumberRect {
  37.             number: 1000
  38.             label: "Thousand"
  39.         }
  40.  
  41.         TextNumberRect {
  42.             number: 10000
  43.             label: "Ten Thousand"
  44.         }
  45.  
  46.         TextNumberRect {
  47.             number: 10
  48.             label: "Ten Ten Ten Ten Ten Ten Ten Ten Ten Ten"
  49.         }
  50.  
  51.         TextNumberRect {
  52.             number: 10
  53.             label: "Ten clip clip clip clip clip clip clip clip clip"
  54.             clipWidth: 100
  55.         }
  56.     }
  57. }
  58.  
  59.  
  60. TextNumberRect.qml
  61. import QtQuick 2.6
  62.  
  63. Rectangle {
  64.     id: root
  65.  
  66.     color: "lightgreen"
  67.  
  68.     property int spacing: 10
  69.     property real clipWidth: 0
  70.  
  71.     property int number: 0
  72.     property string label: "Zero"
  73.  
  74.     height: Math.max(textMetricsLabel.height, textMetricsNumber.width) + spacing
  75.     width: height + textLabel.width + 2 * spacing
  76.  
  77.     radius: height / 2
  78.  
  79.     TextMetrics {
  80.         id: textMetricsLabel
  81.         text: label
  82.         font: textLabel.font
  83.         elideWidth: clipWidth
  84.         elide: clipWidth > 0 ? Qt.ElideRight : Qt.ElideNone
  85.     }
  86.  
  87.     TextMetrics {
  88.         id: textMetricsNumber
  89.         text: number
  90.         font: textNumber.font
  91.     }
  92.  
  93.     Rectangle {
  94.         id: rectCircle
  95.         anchors {
  96.             left: parent.left
  97.             verticalCenter: parent.verticalCenter
  98.         }
  99.         height: parent.height
  100.         width: height
  101.         radius: parent.radius
  102.         color: "green"
  103.  
  104.         Text {
  105.             id: textNumber
  106.             anchors.centerIn: parent
  107.             color: "black"
  108.             text: number
  109.         }
  110.     }
  111.  
  112.     Text {
  113.         id: textLabel
  114.         anchors {
  115.             left: rectCircle.right
  116.             leftMargin: spacing / 2
  117.             verticalCenter:parent.verticalCenter
  118.         }
  119.         text: textMetricsLabel.elidedText
  120.     }
  121. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement