2009-09-09 3 views
2

Как вы встраиваете сюжет виртуального сюжета (анимированный) в свой графический интерфейс Qt? так что у него есть собственная область отображения и больше не нужно будет создавать новое окно.Вложение участка в Qt gui

ответ

3

vpython в FAQs утверждают, что архитектура vpython делает любое вложение проблемы ...:

Q: Есть ли способ, чтобы встроить VPython в другой среде?

Это трудно, потому что VPython имеет две нити, ваш вычислительное нить и рендеринга нить, которая около 25 раз в секунду рисует сцену , используя текущие атрибуты графических объектов. Тем не менее, Stef Mientki удалось встроить VPython в окно wxPython в Windows; см. предоставленный раздел.

Так что, если с WxPython он принимает героические усилия («сумел» не звучит как тривиальный достижение ;-) И работает только на одной платформе, я боюсь, что это не будет легче с Qt ... один жесткий, тяжелый лозунг отдельно на каждой платформе.

Если вы за СЕРЬЕЗНЫЙ вызов, глубоко знакомый с vpython, достаточно знакомый с Qt и знакомый с базовой архитектурой уровня окна на всех платформах, которые вам интересны (и с несовершеннолетним в wxPython), место для начала - удивительный вклад Mientki. Он фактически работает значительно ниже уровня абстракции wxPython и в терминах win32gui звонков, win32con констант, плюс «конечная машина состояния, синхронизированная с помощью wx.Timer» в 100 миллисекунд (хотя он и признает, что результат последнего Франкенштейна хирургия ... «не идеальна» ;-). Чрезвычайно похожие подходы должны видеть вас дома (аналогичным образом «не идеально») в любой другой среде Windows, включая Qt.

Тем не менее, никто еще не предлагал никаких портов для Mac OS X или любого оконного менеджера многих, которые популярны в Linux и Unix-подобных архитектурах (я не уверен, что этот подвиг может быть достигнут только при Уровень xlib - аспекты оформления окна, похоже, участвуют, и в X11 мире эти DO, как правило, нуждаются в сотрудничестве с оконным менеджером).

Итак, буквальный ответ на ваш вопрос: «с огромным количеством работы, требующей большого количества навыков и/или невероятной настойчивости, и, вероятно, зависящим от платформы способом, который потребует повторного использования на каждой интересующей платформе «... извините, что являюсь носителем довольно плохих новостей, но я предпочитаю называть их, как я их вижу.

1

Я связался с поддерживающим VPython, и он подтвердил, что он не знает ни одного рабочего решения, в котором Visual встроено в окно QT.

Это заставило меня попробовать VTK, и до сих пор я очень доволен, никаких проблем с использованием VTK в рамках PyQT.