当启用高DPI缩放比例时,QWebEngineView在Mac上引起主要的渲染问题。
启动该应用程序后,看起来只有一部分窗口被控件占据,其余部分为空白(请参见上图)。
调整大小后,它会占据整个窗口区域,但一切都会变得模糊(请参见下图):
代码简直微不足道:
// mainwindow.cpp
#include "mainwindow.h"
#include <QWebEngineView>
MainWindow::MainWindow()
: QMainWindow()
{
setCentralWidget(new QWebEngineView);
QToolBar *tb = new QToolBar;
QComboBox *cb = new QComboBox;
cb->addItem("first");
cb->addItem("second");
tb->addWidget(cb);
addToolBar(Qt::TopToolBarArea, tb);
}
// main.cpp
#include "mainwindow.h"
#include <QtCore>
int main(int argc, char * argv[])
{
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QApplication app(argc, argv);
MainWindow mw;
mw.show();
return app.exec();
}
我猜想,这与OpenGL有关,而OpenGL由QWebEngineView内部使用。有什么办法可以使它工作?