C++ Qt HighDPI缩放,但请不要在QOpenGLWidget中
我正在使用Qt(目前使用qtwidget)开发一个应用程序,其中主小部件实际上是一个QOpenGLWidget 当然,我希望该应用程序具有HighDPI意识。所以我做到了。然而,在我的QOpenGLWidget中也有要渲染的文本(即,不是通过Qt渲染,而是我自己的基于OpenGL的渲染),我总是想知道为什么与同一屏幕上其他大小相同的文本相比,它看起来如此像素化 如果我通过以下方式启用高DPI缩放:C++ Qt HighDPI缩放,但请不要在QOpenGLWidget中,c++,qt,opengl,dpi,C++,Qt,Opengl,Dpi,我正在使用Qt(目前使用qtwidget)开发一个应用程序,其中主小部件实际上是一个QOpenGLWidget 当然,我希望该应用程序具有HighDPI意识。所以我做到了。然而,在我的QOpenGLWidget中也有要渲染的文本(即,不是通过Qt渲染,而是我自己的基于OpenGL的渲染),我总是想知道为什么与同一屏幕上其他大小相同的文本相比,它看起来如此像素化 如果我通过以下方式启用高DPI缩放: CoreApplication::setAttribute(Qt::AA_EnableHighDp
CoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling, true);
QCoreApplication::setAttribute(Qt::AA_DisableHighDpiScaling);
然后小部件看起来都很好(缩放),但是我的QOpenGLWidget的文本数据看起来有些像素化(因为它是缩放的)
如果我通过以下方式明确禁用HighDPI缩放:
CoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling, true);
QCoreApplication::setAttribute(Qt::AA_DisableHighDpiScaling);
我手动应用DPI缩放QOpenGLWidget,然后这个QOpenGLWidget看起来非常漂亮,GL渲染的文本清晰(不是像素化/缩放),但是其他Qt小部件不再自动进行高DPI缩放
不过我想两样都要。标准qt小部件尊重高dpi设置,但QOpenGLWidget不应应用任何这些设置(因为为了提高纹理质量,我必须自己控制这些设置)。
然而,我没有找到一种方法来做到这一点