diff --git a/modules/gui/pymod/export_panel_bar.cc b/modules/gui/pymod/export_panel_bar.cc index e83a8cb2b0eefd19dffacfc06874d0a9f0cb5a1b..cfac8c128a7b8ea7c5d0a66abb62edaf1df4f144 100644 --- a/modules/gui/pymod/export_panel_bar.cc +++ b/modules/gui/pymod/export_panel_bar.cc @@ -98,17 +98,6 @@ object panels_get_menu(Panels* panels) return get_py_qobject<QMenu>(panels->GetMenu()); } -object panels_get_qwidget(Panels* panels) -{ - static object sip_module=import("sip"); - static object pyqt4_module=import("PyQt4.QtGui"); - object sip_handle((size_t)panels); - object qwidget = pyqt4_module.attr("QWidget"); - object widget = sip_module.attr("wrapinstance")(sip_handle, qwidget); - - return widget; -} - void panel_bar_add_widget_a(PanelBar * pb, Widget* widget, bool hidden=false) { pb->AddWidget(widget,hidden); @@ -149,7 +138,6 @@ void export_PanelBar() .def("RemoveWidget", &panels_remove_widget_b) .def("RemoveWidget", &panels_remove_widget_c) .def("GetMenu", &panels_get_menu) - .def("GetQWidget", &panels_get_qwidget) .def("AddWidgetToPool", &panels_add_widget_to_pool_a) .def("AddWidgetToPool", &panels_add_widget_to_pool_b) .def("AddWidgetToPool", &panels_add_widget_to_pool_c) diff --git a/modules/gui/pymod/sip_handler.hh b/modules/gui/pymod/sip_handler.hh index 9eb6ac7c4d3ad0aba5196ed4f81ad808b5a08b53..f9002d4ff5944e69f924c4a9c294a28c1727f6ed 100644 --- a/modules/gui/pymod/sip_handler.hh +++ b/modules/gui/pymod/sip_handler.hh @@ -52,6 +52,9 @@ template <class O> object get_py_qobject(O* cpp_object) template <class O> O* get_cpp_qobject(object py_object) { if(py_object.ptr() != Py_None){ + if(PyObject_HasAttrString(py_object.ptr(), "qobject")){ + py_object = py_object.attr("qobject"); + } static object sip_module=import("sip"); unsigned long addr = extract<unsigned long>(sip_module.attr("unwrapinstance")(py_object)); if(addr){ diff --git a/scripts/init.py b/scripts/init.py index e892e1838d1eed87919b40e36a3783c3c92443ec..7ff24d5a656685df1edfd522d14041cd56d48c3c 100644 --- a/scripts/init.py +++ b/scripts/init.py @@ -53,7 +53,7 @@ def _InitFrontEnd(): _InitMenuBar(app) _InitSpaceNav(app) _InitContextMenu(app) - main_area.AddPersistentWidget("3D Scene", "gl_win" , app.gl_win.qobject, int(QtCore.Qt.WindowMaximized)) + main_area.AddPersistentWidget("3D Scene", "gl_win" , app.gl_win, int(QtCore.Qt.WindowMaximized)) app.perspective.Restore() additional_modules=getattr(__main__, 'ADDITIONAL_GUI_MODULES', []) for module_name in additional_modules: