2017-04-15 12 views
0

PyQt에서 DPI 인식 위젯을 페인트하려고합니다. 이를 위해 스케일링 팩터를 얻으려고합니다. 예를 들어 커스텀 마진을 곱하고 싶습니다.DevicePixelRatio가 PyQt5에서 깨졌습니다.

는 여기에 내가 시도 무엇 : 모두 Qt는 응용 프로그램에 대한 효과을 수행하는 , 창에 관계없이 실제 배율의, 1.0을 반환

self.window().devicePixelRatioF() 
QtWidgets.QApplication.instance().devicePixelRatio() 

. 모든 것은 정확하게 스케일됩니다. 나는 multiplicator를 어디에서 가져올 지 모릅니다.

다른 방법이 있습니까? 동일한 문제가있는 사람의 경우

답변

0

, 다음과 같은 해결 방법은 나를 위해 그것을했다 :

scaling = self.logicalDpiX()/96.0 # self is of QWidget 

이제 scaling 정확한 윈도우 크기 조정 요인이있다. 1.0, 1.25 ...

이것은 약간의 해킹처럼 보였으므로 나는 대답하지 않은 것으로 간주됩니다.