Как создать объект из файла .js в QML?

Что я делаю не так?
Есть файл js, примитивная функция-конструктор.
в qml хочу выделив память создать объект из этого js файла и заполнить.
function device( ip,name,port,community,oid_count)
{
    this._ip=ip;
    this._name=name;
    this._port=port;
    this._community=community;
    this._oid_count=oid_count;
}

qml:
import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.0
import "device_obj.js" as Device
ApplicationWindow {
    visible: true
    width: 640
    height: 480
    color: "#a3a3a3"
    title: qsTr("Hello World")

Button {
        id: button_ok
        x: 468
        y: 423
        text: qsTr("Button_OK")
        onClicked: 
{

            var ip="123";
            var name="123";
            var port="123";
            var community="123";
            var oid_count="123"
            var device= new Device(ip,name,port,community,oid_count);


        }
    }




}

Ошибка на строке выделения памяти через NEW. TypeError: Type error
  • Вопрос задан
  • 411 просмотров
Решения вопроса 1
Zifix
@Zifix Куратор тега Qt
Barbatum
Тут особый, уличный js.

Создаем файл Device.qml, внутри него пишем:
Item {
    property string ip
    property string port
    ...
    // Тут может быть и функция-конструктор
}

Дальше либо создаем
Device {
    id: device
}

и в обработчике кнопки заполняем его поля.

Либо создаем объект динамически, doc.qt.io/qt-5/qtqml-javascript-dynamicobjectcreat...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы