2009-06-17 7 views
2

J'essaye d'écrire une bibliothèque Trolltech Qt qui sera utilisée à partir d'un non-Qt CFM/Application écrite en MacApp.Plug-in Qt de boucle d'événement Mac dans une application non-Qt

Je rencontre des problèmes lorsque j'ai créé QApplication, il prend en charge ma boucle d'événements dans mon application MacApp non-Qt. J'ai surchargé QApplication::macEventFilter pour appeler CallNextEventHandler mais cela appelle mon Carbon Event Handler dans l'application MacApp mais les événements comme la sélection d'un élément de menu ne fonctionnent pas encore les raccourcis clavier du même élément fonctionnent correctement.

Je suis désespérément besoin de comprendre cela. Y a-t-il une version Mac de QMFCApp?
Je dois mettre cela au travail et le faire fonctionner de la bonne façon. Les clics sur les boutons et les éléments de menu ne semblent pas fonctionner mais d'autres événements tels que la frappe semblent fonctionner. Je pense que j'ai besoin de faire face à de vieux événements EventRecord et de rediffuser l'événement mais je ne suis pas sûr.

Comment puis-je faire fonctionner Qt en tant que plugin dans mon ancienne application? S'il vous plaît, aidez, je suis désespéré.

Grant Hickey

+0

JFYI, c'est écrit Qt, pas QT. –

+0

Je n'ai aucune idée du développement Mac, mais il existe deux façons d'intégrer une autre boucle d'événements avec Qt: en utilisant QApplication :: processEvents et en reliant la boucle de Qt dans votre propre boucle ou Qt's QA's avec QAbstractEventDispatcher. Consultez http://doc.trolltech.com/solutions/4/qtmotifextension/index.html et http://stackoverflow.com/questions/1051333/combing-an-external-event-loop-with-qts. – stephan

Répondre

1

Est-il exact que vous essayez de développer une application pour Mac OS 9? MacApp a été abandonné pendant près d'une décennie et il semble que vous essayiez de combiner des technologies qui ne sont pas vraiment destinées à être mélangées.

Peut-être pourriez-vous décrire ce que vous essayez de faire à un niveau supérieur, et quelles sont vos contraintes? Je pense qu'il doit y avoir un moyen plus facile d'utiliser des bits plus modernes.

Questions connexes