OS X で Qt 4.8.4 を使用する -デスクトップ アプリケーションの開発。ペイント時に、hiDPI ディスプレイ (「網膜」) を使用しているかどうかを検出できる必要があります。これを達成する方法を知っている人はいますか?
質問する
3237 次
2 に答える
4
最終的に、この値を返す小さなココア関数を作成しました。hiDPI 画像を使用する必要があるかどうかを paintEvent の時間を決定するために使用します。MacBook Pro 15" Retina で魅力的に動作します。
bool MYAppCocoaServices::isHiDPI(QWidget * widget)
{
NSView* view = reinterpret_cast<NSView*>(widget->winId());
CGFloat scaleFactor = 1.0;
if ([[view window] respondsToSelector: @selector(backingScaleFactor)])
scaleFactor = [[view window] backingScaleFactor];
return (scaleFactor > 1.0);
}
この .mm ファイルを条件付きで Mac のみでビルドし、Mac の C++ コードからこの静的関数を呼び出します。
于 2013-05-18T17:24:34.290 に答える