Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Quick _ Как просто вызывать самописную javaScript-функцию?

Автор: Rocky 4.2.2011, 14:11

Нпример вот ф-я:

function setRandomText() 
{
    for (var i = 0; i < textItemStack.children.length; ++i)
    {
        textItemStack.children[i].text = Math.random("fff")
    }
}


А как мне ее просто вызвать без всяких условий? Т.е. вот так вот можно:
Item {
    id: textItemStack
...    
    onFocusChanged: setRandomText()
}


А вот так нельзя?
Item {
    id: textItemStack
...    
    setRandomText()
}

Спасибо!

Автор: igor_bogomolov 4.2.2011, 14:18

Цитата(Rocky @ 4.2.2011, 14:11) *
А как мне ее просто вызвать без всяких условий?
А зачем? Всё что ты написал можно сделать стандартными средствами qml. Там есть и циклы и Math

Автор: Rocky 4.2.2011, 14:38

Ну просто интересно как это сделать. Вот я хочу просто вызывать функцию не завязываясь ни на какие события...

А можно пример цикла на qml? Блин, где бы найти нормальную книгу по qml... нифига непонятно..

Автор: igor_bogomolov 4.2.2011, 14:43

Читай здесь. http://doc.crossplatform.ru/qt/4.7.x/qml-repeater.html

Автор: Rocky 4.2.2011, 14:59

Спасибо!

Ну все-таки, как тогда можно перебрать все элементы, созданные репитером?

Column {
        Repeater {
            model: 3
            ComboBoxListItem {
                itemText: "this is the " + index + " string"
            }
        }
    }

Как мне например в этом примере перебрать все ComboBoxListItem? (ну чтобы с ними что-то сделать?

Автор: Rocky 24.2.2011, 15:54

Цитата(Rocky @ 4.2.2011, 14:38) *
Ну просто интересно как это сделать. Вот я хочу просто вызывать функцию не завязываясь ни на какие события...

Так делать нельзя и бессмысленно. При необходимости это нужно делать в Component.onCompleted: {}

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)