我需要在QT中获得显示的DPI值.我可以使用以下内容在QT 5.0中获取它:
#include <QScreen>
......
......
QScreen *srn = QApplication::screens().at(0);
qreal dotsPerInch = (qreal)srn->logicalDotsPerInch();
Run Code Online (Sandbox Code Playgroud)
但是相同的代码在QT 4.x版本中引发错误.我的项目是在QT 4.x版本中开发的.所以我需要在QT 4.x版本中等效上面的代码.
我认为这是 Qt5 的补充。对于 Qt4 或更早版本(我认为它在 3 中受支持......但不记得了),您可以使用 来QPaintDevice获取类似的信息。以下是对您有用的功能,具体取决于您需要执行的操作:
#include <QPaintDevice>
...
QPaintDevice paint;
int dpiX = paint.logicalDpiX();
int dpiY = paint.logicalDpiY();
int width = paint.widthMM();
int height = paint.heightMM();
Run Code Online (Sandbox Code Playgroud)
注意:这不是一个实现,只是示例函数调用。