发现对于 OpenGL 相关的小部件和事件,目前最好的选择是使用QPaintDevice::devicePixelRatio()( http://doc.qt.io/qt-5/qpaintdevice.html#devicePixelRatio )
这意味着乘以使用像素坐标的所有内容,即鼠标事件、调整大小事件等。例子:
void MyGLWidget::resizeGL(int width, int height) {
width *= Application::desktop()->devicePixelRatio();
height *= Application::desktop()->devicePixelRatio();
...
// Continue with previous code
}
Run Code Online (Sandbox Code Playgroud)
在 Retina/HighDPI 显示器中以低分辨率模式运行时,或在常规显示器中运行时,该比率为 1,因此这对我来说似乎是便携的。
| 归档时间: |
|
| 查看次数: |
1409 次 |
| 最近记录: |