LINUX.ORG.RU

pygtk, gtk


0

0

Люди. Есть вопрос.
У меня есть дескриптор окна (в windows). Я использую ogre3d, который возвращает мне некий класс window, из которого я могу достать этот самый handle... Вот проблема заключается в том, что мне как-то нужно связать программу, написанную на pygtk (с помощью boost::python) или Gtk и это самое окно, которое описывает данный мне дескриптор. Вот и возникает проблема, что gtk вроде бы не может привязывать окна по дескриптору. Поправьте меня - если я не прав. Нужно всего лишь засунуть это новое огровское окно в gtk.Notepad... Да, и ещё вроде gtk не может связать два toplevel окна...
Вопрос собственно в чём? - можно ли как-нибудь что-нибудь создать по дескриптору окна..? Или есть другие методы?

А дескриптор окна в PyGTK получить можно? Потому что в таком случае можно сделать наоборот: создать окно Ogre3D, передав ему дескриптор окна gtk. Подробности, как это сделать можно посмотреть в исходниках огра: /ogrenew/RenderSystems/GL/src/GLX/OgreGLXWindow.cpp смотреть функцию GLXWindow::create. Вот: http://ogre.cvs.sourceforge.net/ogre/ogrenew/RenderSystems/GL/src/GLX/OgreGLX... начиная с 154 строки.

outdoor_profanity
()
Ответ на: комментарий от no_NaMe

Я был не прав, прошу прощения... Можно получить дескриптор. w = gtk.Window()

no_NaMe
() автор топика
Ответ на: комментарий от no_NaMe

Я был не прав, прошу прощения... Можно получить дескриптор.
w = gtk.Widget() # здесь нужно писать не абстрактный класс
w.realize()
В Виндовс пишите w.window.handle
В X пишите w.windows.xid

Только w обязятельно должно быть TOP_LEVEL или если нет - то оно должно иметь родителя и тогда realize() нужно проделать с ним... Так же Widget может быть Invisible(), тогда вроде не нужно, чтобы оно имело родителя.

no_NaMe
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.