我在创建对象时使用java脚本设置QML对象的属性。 除了一个需要数字的参数外,它工作正常。
这会调用脚本:
function modify_jquery() {
if (!is_admin()) {
wp_deregister_script('jquery');
wp_register_script('jquery', 'https://code.jquery.com/jquery-1.11.3.min.js');
wp_enqueue_script('jquery');
}
}
add_action('init', 'modify_jquery');
“MAP”之前的300是所需的数字。其他一切都在发挥作用。
Component.onCompleted: CreateVerticalGaugeScript.createVerticalGauge(300,10,300,300,"MAP",Dashboard,"MAP");
现在,当创建对象时,它在QML中具有值NaN。在jas中,console.log向我显示设置了值300。
这是创建的QML:
var component;
var gauge;
function createVerticalGauge(setWidth,setX,setY,setMaxValue,setID,SetValueObject,SetValueProperty) {
component = Qt.createComponent("verticalbargauge.qml");
console.log(setMaxValue)
if (component.status == Component.Ready)
finishCreation(setWidth,setX,setY,setMaxValue,setID,SetValueObject,SetValueProperty);
else
component.statusChanged.connect(finishCreation);
}
function finishCreation(setWidth,setX,setY,setMaxValue,setID,SetValueObject,SetValueProperty) {
console.log(setMaxValue)
if (component.status == Component.Ready) {
gauge = component.createObject(adaptronicDash, {"id": setID, "gaugemaxvalue": setMaxValue,
"gaugetext": Qt.binding(function(){return SetValueObject[SetValueProperty]}),
"x": setX, "y": setY});
gauge.width = setWidth;
if (gauge == null) {
// Error Handling
//console.log("Error creating object");
}
} else if (component.status == Component.Error) {
// Error Handling
//console.log("Error loading component:", component.errorString());
}
}
我使用属性别名gaugemaxvalue 来访问该值。如果我直接在Javascript中设置了一个数字,它正在工作。
答案 0 :(得分:1)
您将Gauge maximumValue
设置为300,tickmarkStepSize
设置为5000.
通过将maximumValue更改为30000或注释掉tickmarkStepSize进行测试。