使用自定义 ComboBoxStyle 在 ComboBox 元素中居中显示标签



>我正在使用QtQuick.Controls 1.0QtQuick.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
    }
  }
}

但是标签保留在我的元素的左上角,似乎不受锚点的影响。我还尝试用controlbackground替换parent,但没有效果

我不完全知道这背后的原因,但是如果我将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
      }
  }
}

相关内容

  • 没有找到相关文章

最新更新