2009-10-12 2 views
0

Я пишу плагин для другого приложения. Я хочу поддерживать плагин на нескольких платформах, поэтому я настоятельно рекомендую использовать Qt.Qt: Написание плагинов для других приложений

Плагин должен быть способен показать некоторый базовый графический интерфейс. Интерфейс плагина никоим образом не обрабатывает GUI - это просто простая библиотека DLL/shared, указанная в файле заголовка C.

Могу ли я использовать Qt внутри такой общей библиотеки? Вызывающее приложение может использовать или не использовать Qt. Любые намеки на то, что делать? Нужно ли мне запускать цикл событий QApplication в отдельном потоке? Или я могу просто вызвать сам цикл событий, ожидая ввода? (Мне нужны только модальные диалоги).

+0

Почему бы не принять ответы на некоторые из ваших других вопросов Qt? Я знаю, что по крайней мере один из них, QtCreator/MSVC, получил хорошие ответы. – rpg

+0

Спасибо, что напомнили мне. Я откладывал это, так как было несколько хороших ответов, и было сложно выбрать «лучший». –

ответ

0

Я не думаю, что это возможно, потому что вам нужно создать QApplication eventloop in the main thread.

Обратите внимание, что QCoreApplication :: Exec() всегда должен вызываться из главного нити (нити, которая выполняет основной()), а не из QThread. В приложениях GUI основной поток также является , называемым потоком GUI, потому что это только поток, который разрешен для выполнения операций, связанных с GUI.

+0

Я могу запустить поток, отличный от QT, для размещения QApplication. Вероятно, это не поддерживается, но я не понимаю, почему это не должно работать. –

+2

Вот обсуждение аналогичной проблемы: http://stackoverflow.com/questions/1051333/combing-an-external-event-loop-with-qts – torque

Смежные вопросы