1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Posted at

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…?
俺はスクロールインジケーターの形と色を変えたかっただけなんだ。
なのになぜこんな遠いところまで来てしまったんだ…。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?