2017-06-30 3 views
1

ListView(Example of sectioned ListView)のようなComboBoxで同じセクション機能を使いたいと思います。QtQuick2 ComboBox with sections

しかし、私はこのようなものはComboBoxで見つけることができません。

これも可能ですか?

+0

のQtクイックは1または2を制御しますか? – GrecKo

+0

私は今だけ2.0で作業しています。1.0と2.0を混ぜることができるかどうかはわかりません。 –

+0

いいえ、タグを付けました。 'import QtQuick.Controls 1.4 as QQC1'のようにインポートして、それを' QQC1.ComboBox'のように使用すると、それらを混在させることができます。 QQC2で必要なことを行うのが簡単なので、ここでは重要ではありません。 – GrecKo

答えて

6

ComboBoxListViewと同じセクション機能を使用するには、ComboBoxListViewを含めるだけです。 https://doc.qt.io/qt-5/qtquickcontrols2-customize.html#customizing-combobox

あなたのケースでは、あなたが有効になってセクションでListViewを含めるようにpopupプロパティをカスタマイズする必要があります。

現在地ComboBoxのための一例であり、すべてのQtクイック2を制御し、基本的にカスタマイズすることができます。

私は例を書いた:

ComboBox { 
    id: control 
    width: 200 
    model : ["Albert Dupontel","Antoine Griezmann","Peter Sagan","Rodney Mullen","Serena Williams"] 
    popup: Popup { 
     y: control.height 
     width: control.width 
     implicitHeight: Math.min(contentItem.implicitHeight, 300) 
     padding: 0 

     contentItem: ListView { 
      clip: true 
      implicitHeight: contentHeight 
      model: control.popup.visible ? control.delegateModel : null 
      currentIndex: control.highlightedIndex 
      section.property: "modelData" 
      section.criteria: ViewSection.FirstCharacter 
      section.delegate: Label { 
       x: 10 
       text: section 
      } 

      ScrollIndicator.vertical: ScrollIndicator { } 
     } 
    } 
} 

それはそのようにレンダリング:ComboBox with section