文章

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

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

1
QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling)

比如,

1
2
3
4
5
6
if __name__ == '__main__':
    QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling)
    app = QApplication(sys.argv)
    win = myWin()
    win.show()
    sys.exit(app.exec())

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

1
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
本文由作者按照 CC BY-NC-SA 4.0 进行授权