Подтвердить что ты не робот

Можем ли мы объявить глобальную переменную в файле QML?

Я хочу сделать что-то similer для следующего кода:

//test.qml
import QtQuick 1.0
Item 
{
    var globalforJs =10;

    function increment() // JavaScript function
    {
        globalforJs++;
    }
    ....
QML Code

Можно ли иметь глобальную переменную в QML file и получить доступ к ней из функции JavaScript?

4b9b3361

Ответ 1

Попробуйте property int globalForJs: 10;

Если вам нужна переменная, которая может принимать любой тип:

property var globalForJs: 10

До QML 2 используйте variant ключевое слово вместо var.

Ответ 2

Использование свойств int или variant не создает javascript-переменную, а скорее семантически другое общее свойство QML (см. здесь)

Прежде чем Qt 5, глобальные переменные javascript были рекомендованы для определения в отдельно импортированном файле javascript, однако Qt 5 добавляет свойство var свойство.

Ответ 3

вещь, которую вы хотите сделать глобальным, должна быть выполнена, как в этом примере

property variant name:"john"//i want this to be global
onCreationCompleted(){
Qt.name = name
}

Если вы хотите использовать свойство name, используемое как Qt.name, а не только name.this, также применимое для любых идентификаторов элементов управления