Russian Qt Forum

Qt => Qt Quick => Тема начата: lighting от Февраль 04, 2013, 22:24



Название: Выбор шрифта
Отправлено: lighting от Февраль 04, 2013, 22:24
Как получить поле модели по индексу?
Пытаюсь выбрать в QML шрифт из списка, список получаю так:
Код
Javascript
     SelectionDialog {
                   id: selectionDialog
                   model: Qt.fontFamilies()
                   selectedIndex: 0
                   onSelectedIndexChanged: {textEdit.text = Qt.fontFamilies().get(1).modelData }
               }
Модель список шрифтов отдает но SelectionDialog возвращает мне только индекс выбранного шрифта, а выдрать текстовое имя из модели почему-то не получается - expression 'Qt.fontFamilies().get' [undefined] is not a function.
Может кто уже сталкивался с этим?


Название: Re: Выбор шрифта
Отправлено: twp от Февраль 04, 2013, 22:41
Возможно так
Код
Javascript
onSelectedIndexChanged: {textEdit.text = Qt.fontFamilies[index] }
 


Название: Re: Выбор шрифта
Отправлено: lighting от Февраль 05, 2013, 13:06
К сожалению невозможно  :(
Qt.fontFamilies это функция и возвращает она list<string> но обратиться к его элементам через [ ] нельзя - [undefined] is not a function.
создать самостоятельно свойство list<string> тоже нельзя - списки можно создавать только из объектов коим string не является. Сделать алиас на модель полученную из Qt.fontFamilies тоже нельзя - [undefined] is not a function.
Честно говоря я в замешательстве, список шрифтов вроде и есть, но пользоваться им никак не получается...

Вот так всегда - только напишешь вопрос сразу ответ находиться, а ведь вчера весь вечер искал. Правильно будет так:
Код
Javascript
onSelectedIndexChanged: {textEdit.text = Qt.fontFamilies()[index] }


Название: Re: Выбор шрифта
Отправлено: twp от Февраль 05, 2013, 14:45
да, затупил, показалось что это свойство, а не метод  :)