Change default Qt quick control style depending on the platform.

Signed-off-by: Camila Ayres <hello@camilasan.com>
This commit is contained in:
Camila Ayres 2024-08-07 17:05:29 +02:00 committed by Matthieu Gallien
parent 651596db78
commit 6ff67c6660
No known key found for this signature in database
GPG key ID: 7D0F74F05C22F553

View file

@ -70,10 +70,28 @@ int main(int argc, char **argv)
QSurfaceFormat::setDefaultFormat(surfaceFormat);
QQuickWindow::setTextRenderType(QQuickWindow::NativeTextRendering);
QQuickStyle::setStyle(QStringLiteral("Fusion"));
auto style = QStringLiteral("Fusion");
#ifdef Q_OS_MAC
style = QStringLiteral("macOS");
#endif
OCC::Application app(argc, argv);
#ifdef Q_OS_WIN
// The Windows style still has pixelated elements with Qt 5.6,
// it's recommended to use the Fusion style in this case, even
// though it looks slightly less native. Check here after the
// QApplication was constructed, but before any QWidget is
// constructed.
if (app.devicePixelRatio() > 1) {
style = "Windows";
}
#endif // Q_OS_WIN
QQuickStyle::setStyle(style);
#ifndef Q_OS_WIN
signal(SIGPIPE, SIG_IGN);
#endif