ComboBoxがはげしくめんどいので覚え書き

ComboBox QMLタイプですが、複雑すぎたので調べたことをメモに残しておきます。

Qt 5.11.2あたりの情報です。

import QtQuick 2.11

import QtQuick.Controls 2.4
import QtQuick.Window 2.11 //アプリのウィンドウサイズを取得するのに使う

ComboBox {
id: control

background: Rectangle {}//Popup開く前、元の状態の背景
contentItem: Text {}//Popup開く前、元の状態の文字
indicator: Image{}//Popup開く前、元の状態のときに出てくる記号

delegate: ItemDelegate {//Popupの子のListViewで羅列するデリゲート
contentItem: Text {}//デリゲートに表示させる文字
background: Rectangle {}//背景
}

popup: Popup {//ComboBoxをクリックしたときに出てくるポップアップ
y: control.height
width: control.width

//Popupのheightは最大で、アプリのウィンドウサイズまで広がる。
height: Math.min(contentItem.implicitHeight, control.Window.height - topMargin - bottomMargin)

contentItem: ListView {//ポップアップの中にあるListView。ComboBoxのdelegateが並ぶ。
ScrollIndicator.vertical: ScrollIndicator {//さらにスクロールインジケーターを配置
contentItem: Rectangle {}//スクロールインジケータはほっそいRectangleなどで作ろう
}
}
}
}

もちろん、TextだのRecangleだのImageだのは好きなものに置き換えても動作します。

ComboBoxのpopupのcontentItemのScrollIndicator.verticalのcontentItemのRectangle…?

俺はスクロールインジケーターの形と色を変えたかっただけなんだ。

なのになぜこんな遠いところまで来てしまったんだ…。