Add some comments.

It's a good memo since some developers may don't know these things.

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
This commit is contained in:
Yuhang Zhao 2020-04-30 15:21:13 +08:00
parent 74d7dfad43
commit a4423334ec
1 changed files with 11 additions and 0 deletions

View File

@ -4,7 +4,15 @@
#include "framelesshelper.h"
int main(int argc, char *argv[]) {
// High DPI scaling is enabled by default from Qt 6
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
// Windows: we are using the manifest file to get maximum compatibility
// because some APIs are not supprted on older systems such as Windows 7
// and 8. And once we set the DPI awareness level in the manifest file, any
// attemptation to try to change it through API will fail. In other words,
// Qt won't be able to enable or disable the DPI awareness level once we
// have set it in the manifest file. So the following two lines are uesless
// actually (However, they are still useful on other platforms).
QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QGuiApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
#endif
@ -13,6 +21,9 @@ int main(int argc, char *argv[]) {
QGuiApplication::setHighDpiScaleFactorRoundingPolicy(
Qt::HighDpiScaleFactorRoundingPolicy::Round);
#else
// Don't round the scale factor.
// This will break QWidget applications because they can't render correctly.
// Qt Quick applications won't have this issue.
QGuiApplication::setHighDpiScaleFactorRoundingPolicy(
Qt::HighDpiScaleFactorRoundingPolicy::PassThrough);
#endif