在高分屏的设备内,如果程序没有进行适配,那么界面就会太小而看不清楚,而且系统显示比例的缩放对程序也不生效。下面是Qt程序界面显示适配系统缩放的一种解决方法。
Qt封装
// 获取屏幕的横纵向dpi
int dpiX = QApplication::desktop()->logicalDpiX();
int dpiY = QApplication::desktop()->logicalDpiY();
Windows 系统API
获取windows系统的像素密度,也就是DPI
// Get desktop dc
desktopDc = GetDC(NULL);
// Get native resolution
horizontalDPI = GetDeviceCaps(desktopDc, LOGPIXELSX);
verticalDPI = GetDeviceCaps(desktopDc, LOGPIXELSY);
其次,定义比例获取函数,返回缩放因子
const float DEFAULT_