Py::Object openBrowserWindow(const Py::Tuple& args) { char* TabName = nullptr; if (!PyArg_ParseTuple(args.ptr(), "|et", "utf-8", &TabName)) throw Py::Exception(); std::string EncodedName = "Browser"; if (TabName) { EncodedName = std::string(TabName); PyMem_Free(TabName); } WebGui::BrowserView* pcBrowserView = 0; pcBrowserView = new WebGui::BrowserView(Gui::getMainWindow()); pcBrowserView->resize(400, 300); pcBrowserView->setWindowTitle(QString::fromUtf8(EncodedName.c_str())); Gui::getMainWindow()->addWindow(pcBrowserView); if (!Gui::getMainWindow()->activeWindow()) Gui::getMainWindow()->setActiveWindow(pcBrowserView); return Py::asObject(pcBrowserView->getPyObject()); }