Ответ 1
Попробуйте property int globalForJs: 10;
Если вам нужна переменная, которая может принимать любой тип:
property var globalForJs: 10
До QML 2 используйте variant
ключевое слово вместо var
.
Я хочу сделать что-то similer для следующего кода:
//test.qml
import QtQuick 1.0
Item
{
var globalforJs =10;
function increment() // JavaScript function
{
globalforJs++;
}
....
QML Code
Можно ли иметь глобальную переменную в QML file
и получить доступ к ней из функции JavaScript?
Попробуйте property int globalForJs: 10;
Если вам нужна переменная, которая может принимать любой тип:
property var globalForJs: 10
До QML 2 используйте variant
ключевое слово вместо var
.
Использование свойств int
или variant
не создает javascript-переменную, а скорее семантически другое общее свойство QML (см. здесь)
Прежде чем Qt 5, глобальные переменные javascript были рекомендованы для определения в отдельно импортированном файле javascript, однако Qt 5 добавляет свойство var
свойство.
вещь, которую вы хотите сделать глобальным, должна быть выполнена, как в этом примере
property variant name:"john"//i want this to be global
onCreationCompleted(){
Qt.name = name
}
Если вы хотите использовать свойство name, используемое как Qt.name
, а не только name.this
, также применимое для любых идентификаторов элементов управления