Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Qt HighDPI缩放,但请不要在QOpenGLWidget中_C++_Qt_Opengl_Dpi - Fatal编程技术网

C++ Qt HighDPI缩放,但请不要在QOpenGLWidget中

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

我正在使用Qt(目前使用qtwidget)开发一个应用程序,其中主小部件实际上是一个QOpenGLWidget

当然,我希望该应用程序具有HighDPI意识。所以我做到了。然而,在我的QOpenGLWidget中也有要渲染的文本(即,不是通过Qt渲染,而是我自己的基于OpenGL的渲染),我总是想知道为什么与同一屏幕上其他大小相同的文本相比,它看起来如此像素化

如果我通过以下方式启用高DPI缩放:

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不应应用任何这些设置(因为为了提高纹理质量,我必须自己控制这些设置)。 然而,我没有找到一种方法来做到这一点