a
26 июля 2021 г. 17:26

Qml ListView ComboBox

QML, ListView, ComboBox

Добрый день!
Создал ListView с делегатом в который входит ComBoBox

import QtQuick 2.9
import QtQuick.Window 2.2
import QtQuick.Controls 2.2
Window {
visible: true
width: 640
height: 480
title: qsTr("Hello World")

  1. Rectangle{
  2. anchors.fill: parent
  3. ListModel {
  4. id: fruitModel
  5.  
  6. ListElement {
  7. name: "Apple"
  8. cost: 2.45
  9. }
  10. ListElement {
  11. name: "Orange"
  12. cost: 3.25
  13. }
  14. ListElement {
  15. name: "Banana"
  16. cost: 1.95
  17. }
  18. }
  19. Component {
  20. id: fruitDelegate
  21. Item {
  22. width: 200; height: 50
  23. Rectangle{
  24. id:firstRec
  25. width: 80
  26. height: 33
  27. anchors.left: parent
  28.  
  29. Text { id: nameField; text: name }
  30. }
  31.  
  32. Rectangle{
  33. id:secondRec
  34. anchors.left:firstRec.right
  35. width: 80
  36. height: 33
  37. Text { text: '$' + cost; anchors.left: nameField.right }
  38. }
  39. ComboBox{
  40. id:comb
  41. anchors.left: secondRec.right
  42. model: [2.45, 3.25, 3.25]
  43. }
  44. }
  45. }
  46. ListView {
  47. anchors.fill: parent
  48. model: fruitModel
  49. delegate: fruitDelegate
  50. }
  51. }

}

Подскажите пожалуста как выставить значение в комбобоксах соответственно модели fruitModel?
(например во второй строчке ListView - значение Combobox - 3.25 . А выподающий список согласно его модели )

И как узнать текущее значение ComboBox ?
Заранее спасибо!

2

Вам это нравится? Поделитесь в социальных сетях!

1
Алексей Внуков
  • 26 июля 2021 г. 18:56

добрый, можете в делегате обьявить переменную, в которую будет писать комбобокс свое значение. а потом по индексу модели дергать данное значение, ну или непосредственно дергать сам комбобокс по индексу модели

    Комментарии

    Только авторизованные пользователи могут публиковать комментарии.
    Пожалуйста, авторизуйтесь или зарегистрируйтесь