QtQuick 2.0 下拉按钮

Posted

技术标签:

【中文标题】QtQuick 2.0 下拉按钮【英文标题】:QtQuick 2.0 Drop down button 【发布时间】:2013-10-27 16:23:24 【问题描述】:

我有一个工具栏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 轻松创建下拉按钮?

【问题讨论】:

【参考方案1】:

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

在你的主 qml 文件中

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

MyComponent.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
        
    

【讨论】:

所以没有办法用Qml制作下拉按钮(不拉伸)? 对不起。我可能误解了你的问题。我认为目前无法更改下拉列表,但您可以更改 ComboBox 的标签。

以上是关于QtQuick 2.0 下拉按钮的主要内容,如果未能解决你的问题,请参考以下文章

使用 SVG 插件部署 QtQuick 2.0 应用程序

QtQuick 按钮显示在对话框之外

如何运行导入 QtQuick2.0 和 QtQuick.Controls 1.1 的应用程序

QtQuick 应用程序和 C++ 插槽绑定错误

用于嵌入式设备的 Qt Quick 控件 2.0

在android qtquick中单击后退按钮时应用程序退出