2009-09-23 9 views
2

Мне нужно получить доступ к javascript QScriptEngine в QWebFrame. Это возможно?Qt: Можно ли получить QScriptEngine из QWebFrame?

Ну, по крайней мере, мне кажется, мне нужен доступ к нему. В ответ на вызов javascript мне нужно выделить новый объект, вернуть его в javascript и владение рукой объекта на javascript, чтобы его можно было собрать мусором. Похоже, что QScriptEngine :: newQObject позволит мне передать право собственности. Возможно, это неправильный подход.

Спасибо! Alex

ответ

0

Вы заметили, что void QWebFrame::addToJavaScriptWindowObject (const QString & name, QObject * object) метод?

С помощью:

объект Make доступен под именем из в JavaScript контексте фрейма. Объект будет вставлен в качестве дочернего объекта объекта окна рамки.

Свойства Qt будут отображаться как Свойства JavaScript и слоты как Методы JavaScript.

Возможно, это вам поможет.

+0

Да, я надеялся на другой способ сделать это, поскольку объект не обязательно будет иметь имя. Я просто попробовал addToJavaScriptWindowObject (используя случайное имя), но не смог подтвердить, что объект фактически получает сбор мусора, т.е. мой деструктор никогда не попадает. Существует ли функция javascript collectgarbage()? Я не могу сказать. Благодарю. –