2015-06-22 30 views
0

我使用來確定目標設備是平板電腦還是移動設備。但該方法返回不正確的值。我使用Samsung GT-I8190,寬度約52.2毫米,高度約87.1毫米。但該方法相對返回76和127毫米。試圖谷歌有關這個問題,但沒有結果。誰有這個問題,有什麼問題?Qt QScreen :: physicalSize返回不正確的值

+1

> http://doc.qt.io/qt-5/qscreen.html#physicalSize-prop Qt從設備獲取此信息。我已經在亞馬遜上查找了這個設備,並將其尺寸轉換爲了毫米,它幾乎與您報告的尺寸相同,爲121.92毫米x 63.5毫米。我的猜測是,該設備不報告屏幕尺寸,但屏幕尺寸加上邊框或類似的東西。 –

+0

它看起來像你指定的手機BODY尺寸,但不是屏幕一個 – Constantine

+0

@Constantine不是Túlio,但這是設備的實施者所做的。該設備本身爲Qt提供了錯誤的大小,Qt沒有辦法解決這個問題:(如果你是直接爲Android編碼的話,你會遇到同樣的問題) –

回答

0

您可以使用physicalDotsPerInchXphysicalDotsPerInchY來計算像素大小。

然後使用availableSize以像素爲單位獲取屏幕大小,並根據各自的像素大小(您計算的)獲取寬度和高度的倍數。

我想編碼和測試這種方法,但我現在不能。