Как начать числовую модель с 1 в выпадающем списке QML - PullRequest
0 голосов
/ 11 апреля 2019

В combobox из qml мы можем дать им модель с числовым значением.

Опции combobox затем начинаются с 0 до значения модели минус 1.

Я хочу показать значения на combobox плюс 1. Но тем не менее, если я пытаюсь получить доступ к qml javascript, значение, выбранное в этом combobox, является исходным значением, что я имею в виду, если это первый параметр, то это значение 0. Числа должны начинаться только с 1 в отображаемой части combobox.

Я собираюсь привести пример (с моделью = 32):

дисплей combobox

enter image description here

варианты:

enter image description here

я хочу, чтобы они начали с одного, как это:

enter image description here

Использовался следующий код:

import QtQuick 2.9
import QtQuick.Controls 2.0

ApplicationWindow {
    id: window
    title: "Stack"
    visible: true
    height: 200
    width: 400
    Item {
        id: page
        anchors.fill: parent
        width:parent.width
        height: parent.height
        Column{
            width:parent.width
            spacing:10
            ComboBox {
                id:comboBox
                model: 32
                objectName: "test"
                implicitHeight: 30
                displayText: currentText
//                delegate:
//                      Button {
//                          id:buttonCombo
//                          width: parent.width
//                          text:  index+1
//                          height:40
//                          contentItem: Text {
//                              text: buttonCombo.text
//                              font: comboBoxCustom.font
//                              leftPadding: 5
//                              horizontalAlignment: Text.AlignLeft
//                              verticalAlignment: Text.AlignVCenter
//                              elide: Text.ElideRight
//                          }
//                          background: Rectangle {
//                              color: buttonCombo.hovered ? (buttonCombo.pressed ? "#d8d8d8" : "#e8e8e8" ) : "#fff"
//                          }
//                      }
                anchors.topMargin: 10
            }
        }
    }
}

Может быть, это можно сделать: displayText: Number(currentText)+1 но я не знаю, является ли это лучшим решением ...

...