2019年2月10日日曜日

qtのAA_EnableHighDpiScaling

qt5のAA_EnableHighDpiScalingってなに

最近、PostgreSQLが使いやすくて、pgmodelerつかっているのですが、qtとのカラミがうまくいってないようで、画面サイズとウインドウサイズが合わなくてイライラしてたのでちょっと調べてみた。

qtは詳しくないが、怪しげなところにpatchあてて試したら、思いのほかうまくいったっぽい。


//High DPI suport via application attributes is available only from Qt 5.6.0
#if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0))
   Application::setAttribute(Qt::AA_EnableHighDpiScaling);
#endif

問題のばしょ、QTのバージョンがそれなら、Application::setAttributeが呼ばれるところを、削除したところ、うまくモニターのサイズにウインドウがフィットして表示された。

qt5がわるいのか、Xのライブラリが悪いのか不明なのですが、取り合えずこれなんだ?

ちなみに、我のqtのバージョンは5.11.3です、qtを利用するアプリケーション全般がそれっぽい。