2009-09-23 11 views
2

J'ai besoin d'accéder au QScriptEngine javascript dans un QWebFrame. Est-ce possible?Qt: Est-il possible d'obtenir QScriptEngine à partir de QWebFrame?

Eh bien, au moins, je pense que j'ai besoin d'y accéder. En réponse à un appel javascript, je dois allouer un nouvel objet, le renvoyer à javascript et la propriété de l'objet à javascript pour qu'il puisse être collecté. Il semble que QScriptEngine :: newQObject me permettrait de transférer la propriété. Peut-être que ce n'est pas la bonne approche.

Merci! Alex

Répondre

0

Avez-vous remarqué la méthode void QWebFrame::addToJavaScriptWindowObject (const QString & name, QObject * object)?

De l'aide:

Rendre l'objet disponible sous le nom de dans les contexte JavaScript du cadre. L'objet sera inséré en tant qu'enfant de l'objet fenêtre du cadre.

Les propriétés de Qt seront exposées comme Propriétés de JavaScript et emplacements comme Méthodes JavaScript.

Peut-être que cela va vous aider.

+0

Oui, j'espérais une autre façon de le faire puisque l'objet n'aura pas nécessairement de nom. Je viens d'essayer addToJavaScriptWindowObject (en utilisant un nom aléatoire), mais je n'ai pas pu confirmer que l'objet est effectivement récupéré, c'est à dire. mon destructeur ne sera jamais touché. Est-ce que la fonction javascript collectgarbage() existe réellement? Je ne peux pas le dire. Merci. –