0

我有一个工具栏ToolBar,我想要一个下拉按钮。

我尝试使用ComboBox,但按钮的大小会根据列表模型项的长度进行调整。而且我不知道如何对点击事件进行操作。

ToolBar {
  id: toolBar
  anchors.margins: 0
  Layout.fillWidth: true
  layer.enabled: true

  RowLayout {
    ComboBox {
      id: databaseTypeInput

      style: ComboBoxStyle {
        label: ToolButton {
          implicitWidth: 20
          implicitHeight: 20
          iconSource: "Image.png"
        } // ToolButton
      }
    } // ComboBox
  }
}

无论如何,我认为这是一种错误的做法。

有什么方法可以使用 QtQuck 2.0 轻松创建下拉按钮?

4

1 回答 1

0

您正在将标签属性直接分配给 ToolButton。Qml 没有选择填充它的空间,但拉伸按钮。尝试这样的事情。

在你的主 qml 文件中

    ComboBox {
          id: databaseTypeInput
          width: 100;
          style: ComboBoxStyle {
            label: MyComponent{}
            }
    } // ComboBox

我的组件.qml

import QtQuick 2.1
import QtQuick.Controls 1.1
import QtQuick.Layouts 1.0
import QtQuick.Controls.Styles 1.0

Rectangle {
    width: 100
    height: 62
    RowLayout {
        Button {
            implicitWidth: 20
            implicitHeight: 20
            text: "T"
        }
        Text {
            text: control.currentText
        }
    }
}
于 2013-11-04T12:55:48.727 回答