我正在使用Qt,需要帮助获取屏幕(显示器)的物理尺寸。
在Qt中,可以从QApplication
获取 QDesktopWidget
,我的意思是:
QDesktopWidget *mydesk = QApplication::desktop();
QDesktopwidget
有一些方法可以获取屏幕的像素分辨率和毫米尺寸:
mydesk-> widthMM(); mydesk->heightMM();
然而,这并不对应于物理尺寸,当我用尺子测量屏幕时,有相当大的差异。
此外,可以获取DPI测量值并计算屏幕的大小:
mydesk->physicalDpiX(); mydesk->physicalDpiY();
double Winches = (double)mydesk.width() / (double)mydesk.physicalDpiX();
double Hinches = (double)mydesk.Height() / (double)mydesk.physicalDpiY();
其中mydesk.width()
和mydesk.height()
返回以像素为单位的尺寸(分辨率)
但是这些测量值也是错误的,并且非常接近mydesk.widthMM()
和mydesk.heightMM()
我还尝试了mydesk.logicalDpiX()
,它也有类似的结果。