私の質問は、2つの部分からなる条件付きの質問のようなものです。C ++/Qtで作成しているデスクトップアプリケーションがあります。アプリには、アイコンとリッチテキストを使用してリストアイテムを装飾および追加したいリストがいくつかあります。
私は最初にQWidgetの世界でこれを試みましたが、調べれば調べるほど、QMLの方が適していると思いました。しかし今、QMLはタッチスクリーンデバイスを対象としているように見えるので、それについても疑問に思っています。言うまでもなく、QMLの進歩は途方に暮れています。以下のQMLを提供してください。方法がわかりません。(1)アイテムをクリックしたときにハイライト表示を取得し、(2)スクロールバーを追加します。
import QtQuick 1.0
Item
{
width: 300
height: 200
ListModel
{
id: myModel2
ListElement { text: "List Item 1" }
ListElement { text: "List Item 2" }
ListElement { text: "List Item 3" }
ListElement { text: "List Item 4" }
ListElement { text: "List Item 5" }
ListElement { text: "List Item 6" }
}
Component
{
id: beerDelegate
Rectangle
{
id: beerDelegateRectangle
height: beerDelegateText.height * 1.5
width: parent.width
Text
{
id: beerDelegateText
text: "<b>" + modelData + "</b> <i>(" + modelData + ")</i>"
}
MouseArea
{
anchors.fill: parent
onClicked:
{
console.log("clicked: " + modelData + " at index: " + index);
beerList.currentIndex = index;
}
}
}
}
ListView
{
id: beerList
anchors.fill: parent
model: myModel2
delegate: beerDelegate
highlightFollowsCurrentItem: true
highlight: Rectangle
{
width: parent.width
color: "red"
}
focus: true
}
}
このQMLを使用して、探していることをどのように達成できますか?それとも、QWidgetデスクトップアプリでQMLを使用するのは悪い考えですか?