当无框窗口最大化时,QtWebEngine闪烁

时间:2019-02-16 09:11:28

标签: c++ qt qt5 qtwebengine

我有一个无框架的QtWebEngine程序,当在没有任务栏的屏幕上运行并最大化窗口后,焦点发生变化时,该程序会闪烁。

它在带有任务栏的屏幕上正常工作。

以下是我的测试代码:

#include <QWidget>
#include <QHBoxLayout>
#include <QApplication>
#include <QWebEngineView>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QWidget* widget = new QWidget(0);
    widget->setWindowFlags(Qt::FramelessWindowHint);
    QHBoxLayout* lay_parent = new QHBoxLayout;
    QWebEngineView *webView = new QWebEngineView;
    webView->load(QUrl("https://qt.io"));
    widget->show();
    lay_parent->addWidget(webView);
    widget->setLayout(lay_parent);
    widget->showMaximized();
    return app.exec();
}

我尝试设置OpenGL,它可以正常工作。
但是在某些计算机上,程序将无法运行。

QCoreApplication::setAttribute(Qt::AA_UseOpenGLES);

QCoreApplication::setAttribute(Qt::AA_UseSoftwareOpenGL);

有没有更好的方法来阻止它闪烁?

这是我的测试环境:

操作系统 Windows 7,Windows 10

Qt 5.9.6,5.12.1

0 个答案:

没有答案