本文整理汇总了C++中QPlatformIntegration::destroy方法的典型用法代码示例。如果您正苦于以下问题:C++ QPlatformIntegration::destroy方法的具体用法?C++ QPlatformIntegration::destroy怎么用?C++ QPlatformIntegration::destroy使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QPlatformIntegration
的用法示例。
在下文中一共展示了QPlatformIntegration::destroy方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: resetRendering
void DisplayManagerRPI::resetRendering()
{
QGuiApplication *guiApp = (QGuiApplication*)QGuiApplication::instance();
QQuickWindow *window = (QQuickWindow*)guiApp->focusWindow();
if (window)
{
QLOG_INFO() << "Recreating Qt UI renderer";
// destroy the window to reset OpenGL context
window->setPersistentOpenGLContext(false);
window->setPersistentSceneGraph(false);
window->destroy();
// Grab the Platform integration private object and recreate it
// this allows to clean / recreate the dispmanx objects
QGuiApplicationPrivate *privateApp = (QGuiApplicationPrivate *)QGuiApplicationPrivate::get(guiApp);
QPlatformIntegration *integration = privateApp->platformIntegration();
if (integration)
{
integration->destroy();
QThread::msleep(500);
integration->initialize();
}
else
{
QLOG_ERROR() << "Failed to retrieve platform integration";
}
// now recreate the window OpenGL context
window->setScreen(QGuiApplication::primaryScreen());
window->create();
}
}