2015-12-25 19 views
8

Ich schreibe eine grafische C++ - Anwendung mit Qt 5.5.0 unter OS X El Capitan auf einem Retina MacBook Pro. Text ist in der gesamten Anwendung pixelig, so dass ich vermute, dass der Modus mit hoher DPI nicht verwendet wird. Mein Info.plist enthält folgende Definition:Retina-Unterstützung in Qt5 unter OS X

<key>NSHighResolutionCapable</key> 
    <true/> 

Wie aktiviere ich hochauflösenden Modus (vor allem für Text-Rendering) in einer Qt-Anwendung auf O X?

+0

Qt Widgets oder QML? –

+0

Meine Qt Widgets-Anwendung ist auf der Retina völlig in Ordnung, und ich habe diesen Schlüssel nicht in meiner .plist. Ich habe in der Tat keine speziellen Schlüssel. Gerade kontrolliert. –

+0

Ich benutze Qt Widgets. – SurvivalMachine

Antwort

3

Stellen Sie sicher, dass Ihre info.plist die Schlüssel und NSApplication hat. Gemäß der Qt docs ist NSHighResolutionCapable optional und standardmäßig true. Hier ist meine ganze plist Referenz:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd"> 
<plist version="0.9"> 
<dict> 
    <key>NSPrincipalClass</key> 
    <string>NSApplication</string> 
    <key>CFBundleIconFile</key> 
    <string>@[email protected]</string> 
    <key>CFBundlePackageType</key> 
    <string>APPL</string> 
    <key>CFBundleGetInfoString</key> 
    <string>Created by Qt/QMake</string> 
    <key>CFBundleSignature</key> 
    <string>@[email protected]</string> 
    <key>CFBundleExecutable</key> 
    <string>@[email protected]</string> 
    <key>CFBundleIdentifier</key> 
    <string>[email protected]@</string> 
</dict> 
</plist> 

Wenn Sie NSHighResolutionCapable manuell auf die Angabe bestehen, beachten Sie, dass es falsch gemacht haben in Ihrer Frage. Hier ist die richtige Syntax aus dem gleichen docs:

<key>NSPrincipalClass</key> 
<string>NSApplication</string> 
<key>NSHighResolutionCapable</key> 
<string>True</string> 
+0

Ich habe versucht, Ihre PLIST manuell und richtig angeben 'NSHighResolutionCapable', aber es ist immer noch verschwommen/pixelig. – SurvivalMachine

+1

Nachdem Sie einige mehr getestet haben, ist Ihre Antwort tatsächlich korrekt. Mein laufendes Verzeichnis enthielt eine alte Kopie der .plist. Manuelles Einstellen von 'NSHighResolutionCapable' war nicht notwendig. – SurvivalMachine

+0

@ SurvivalMachine: Wenn Sie es nicht brauchen, bin ich mir ziemlich sicher, dass Sie die Plattform komplett wegwerfen können. Sollte auch ohne es funktionieren. –