2016-03-08 102 views
1

我可以通過API調用而不是環境變量來設置QT_AUTO_SCREEN_SCALE_FACTOR 1behavior嗎?我想檢測我的Qt應用程序是否在高dpi屏幕上運行,然後相應地設置縮放比例。我可以通過API設置QT_AUTO_SCREEN_SCALE_FACTOR行爲嗎?

我已經試過在main一開始就設置它,which does not work

QProcessEnvironment::systemEnvironment().insert("QT_AUTO_SCREEN_SCALE_FACTOR", "1"); 

它的意思是用QProcess中一起使用,以設置 子進程的環境。它不能用於更改當前進程的環境。

隨訪Style sheets/Qt Designer support for high dpi screens?

回答

6

以下應該工作

qputenv( 「QT_AUTO_SCREEN_SCALE_FACTOR」, 「1」);

+2

非常好,至少我現在可以檢查高DPI並相應地設置標誌。備註:我必須在很早的階段(main的第一行)設置它,否則它不會顯示任何效果。 –

+1

我不認爲你需要檢查DPI,如果你有lowdpi或highdpi感謝變量的自動部分它應該按預期工作自動 –