2017-06-30 3 views
1

Ich würde gerne die gleiche Abschnitt Funktionalität in einer ComboBox wie in der ListView (Example of sectioned ListView) haben.QtQuick2 ComboBox mit Abschnitten

Aber ich kann nichts dergleichen in der ComboBox finden.

Ist das überhaupt möglich?

+0

Qt Quick Controls 1 oder 2? – GrecKo

+0

Ich arbeite gerade mit 2.0 im Moment, ich bin mir nicht sicher, ob ich 1.0 und 2.0 mischen kann –

+0

Ok, ich habe das Tag hinzugefügt. Du kannst sie mischen, wenn du folgendes importierst: 'importiere QtQuick.Controls 1.4 als QQC1' und benutze es später so:' QQC1.ComboBox'. Es spielt hier keine Rolle, denn es ist einfacher, mit QQC2 zu machen, was Sie wollen. – GrecKo

Antwort

6

Um die gleiche Funktionalität wie ein Abschnitt ListView in einem ComboBox, können Sie einfach zu haben, zählen ein ListView in Ihrem ComboBox.

können Sie passen im Grunde alle Qt Quick 2 Controls, hier ist ein Beispiel für ComboBox: https://doc.qt.io/qt-5/qtquickcontrols2-customize.html#customizing-combobox

In Ihrem Fall, dass Sie die popup Eigenschaft anpassen müssen aktiviert einen ListView mit Abschnitten aufzunehmen.

Ich schrieb ein Beispiel:

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 { } 
     } 
    } 
} 

Es macht so: ComboBox with section

Verwandte Themen