pyqt分辨率不同的设备显示问题

当两个不同分辨率不同的设备运行同一个由Qt开发的程序时,会出现控件大小不一致甚至无法正常显示等问题。解决这个问题的方法是在主函数(程序入口)最前面添加一行代码:

QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling)

比如,

if __name__ == '__main__':
    QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling)
    app = QApplication(sys.argv)
    win = myWin()
    win.show()
    sys.exit(app.exec())

假如你是用的C++语言的话,添加如下代码

QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);