Мне было интересно, можно ли запустить внешнее приложение внутри виджета QT под операционной системой Windows. Например, если бы я написал приложение Qt gui, где в одном из диалогов пользователь мог написать какой-то текст, я мог бы использовать текстовое поле там или что-то подобное. Но вместо этого, можно ли запустить Notepad ++ или приложение notpad windows в этом диалоговом окне? Буду признателен за помощь.Вставить внешнее приложение в виджет под Qt
ответ
Это не очень практично делать то, что вы описываете на уровне приложения, встраивая весь процесс в окно другого. (Это было бы технически сложно, и пользовательский опыт, вероятно, был бы очень плохим, если бы вы могли снять его.)
К счастью, эта проблема компонентов приложения уже решена! Таким образом, вы можете получить конечный результат, который вы описываете, с помощью немного другого механизма. Многие приложения предоставляют COM-интерфейсы для автоматизации и встраивания, а также возможность встраивания COM-объектов в приложение Qt.
(старые технологии, такие как DDE, OLE и ActiveX при условии, различные аспекты этого, но все в основном устаревшими в пользу COM AFAIK.)
Надеюсь, вы можете найти COM объект от третьей стороны, или найти приложение, которое предоставляет свои компоненты через COM и собирает ваше приложение таким образом.
Посмотрите документацию Qt:
- 1. Вставить внешнее приложение под Windows
- 2. QT Как встроить приложение в виджет QT
- 3. Вставить GTK виджет в Qt Window
- 4. QT 5.5 встроить внешнее приложение в QWidget
- 5. Добавление виджетов под главный виджет (консоль) QT
- 6. Qt 4.6.x под MacOS/X: виджет update performance mystery
- 7. Qt - Найти «Фактический виджет» под окном просмотра в координатах
- 8. Замените виджет в Qt
- 9. Как я могу вставить виджет в mainwindow, созданный дизайнером Qt?
- 10. Сохранить виджет сверху в Qt
- 11. виджет скрыт под центральным виджетом
- 12. SVN привязывает внешнее приложение
- 13. уродливое приложение Qt смотреть под ubuntu
- 14. Как скомпилировать приложение Qt под Manjaro KDE?
- 15. Вставить виджет CKEditor в другой виджет
- 16. «вставить» прослушиватель в виджет SWT
- 17. QT - скользящий виджет
- 18. Виджет отображения для Qt
- 19. Виджет индикатора загрузки Qt
- 20. QT виджет для WindowsXP
- 21. Qt - Как переопределить виджет?
- 22. Qt - виджет - обновление
- 23. Qt - Создать виджет динамически
- 24. Настроить виджет дерева Qt
- 25. Qt добавить виджет в GraphicsView?
- 26. Обновление дочерний виджет в Qt
- 27. Qt: Пользовательский виджет в QScrollArea
- 28. Qt: отображение qgraphicsitem в виджет
- 29. Qt :: WindowStaysOnTopHint виджет всегда активен
- 30. Qwidget, как выделить виджет под курсором
"возможно", конечно. «Легко», не так много. Я думаю, что Win32 позволяет начать другой процесс и получить дескриптор окна для главного окна этого процесса (но не спрашивайте меня, как именно). При этом вы можете использовать 'QWindow :: fromId' +' QWidget :: createWindowContainer', чтобы вставить это окно. – peppe