Центрировать ярлык в элементе ComboBox с помощью специального ComboBoxStyle

0 koopajah [2013-10-07 19:26:00]

Я использую QtQuick.Controls 1.0 и QtQuick.Controls.Styles 1.0 и я не могу найти способ правильно выровнять метку ComboBox вертикали и справа.

Это мой текущий код

import QtQuick 2.0
import QtQuick.Controls 1.0
import QtQuick.Controls.Styles 1.0


ComboBox {
  id: comboCategories
  width: 230
  height: 30

  style: ComboBoxStyle {
    background: Rectangle {
      id: rectCategory
      width: comboCategories.width
      height: comboCategories.height
      color: "white"
    }

    label: Text {
      anchors.verticalCenter: parent.verticalCenter
      anchors.right: background.right
      font.pointSize: 12
      color: "#808080"
      text: control.currentText
    }
  }
}

Но ярлык остается в левом верхнем углу моего элемента и, похоже, не влияет на якоря. Я также попытался заменить parent control или background без эффекта

qt5 qml qtquick2


1 ответ


1 Решение koopajah [2013-10-08 13:50:00]

Я точно не знаю аргументов позади этого, но если я оберну свой элемент Text в Item то я могу правильно

import QtQuick 2.0
import QtQuick.Controls 1.0
import QtQuick.Controls.Styles 1.0

ComboBox {
  id: comboCategories
  width: 230
  height: 30

  style: ComboBoxStyle {
    background: Rectangle {
      id: rectCategory
      width: comboCategories.width
      height: comboCategories.height
      color: "white"
    }

    label: Item {
      anchors.fill: parent
      Text {
        anchors.verticalCenter: parent.verticalCenter
        anchors.right: parent.right
        anchors.rightMargin: 5
        font.pointSize: 12
        color: "#808080"
        text: control.currentText
      }
  }
}