QML: Если условие в делегате?

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

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

Подход, который я могу думать на данный момент, состоит в том, чтобы иметь условие if в делегате, которое на основе текущего индекса увеличивает размер шрифта.

Возможен ли описанный выше подход? Любые предложения по достижению определенного поведения

Ниже приведен фрагмент кода

   SpinnerData {
              id: spinner
              focus: true
              model: 20
              delegate: Text { font.pixelSize: spinner.height/4.5; text: index; height: spinner.height }
                }

person DNamto    schedule 23.11.2012    source источник
comment
Не уверен, что такое SpinnerData элемент, но есть ли у него что-то вроде свойства currentIndex? Вы пробовали что-то вроде font.pixelSize: index === spinner.currentIndex ? 100 : spinner.height/4.5;?   -  person hate-engine    schedule 23.11.2012
comment
Предполагая, что SpinnerData является ListView, вложенное свойство ListView.isCurrentItem, вероятно, является тем, что вы ищете.   -  person MartinJ    schedule 24.11.2012


Ответы (1)


Я не знаю деталей вашего компонента, но здесь вы можете увидеть реализацию того же элемента управления в Qt Quick Components.

введите описание изображения здесь

person Pavel Osipov    schedule 23.11.2012