Sto sviluppando su un monitor 4k e il suo un dolore ...Come ottenere un'interfaccia utente nitida ad alta risoluzione con Qt 5.6?
Finalmente sono riuscito a configurare QtDesigner e poi ecountered questo problema:
Quando si utilizza QT_AUTO_SCREEN_SCALE_FACTOR=1
e compilare un app con RadioButton e altre di base widget, sembra ridimensionato su uno schermo 4k. In caso contrario, le dimensioni dei controlli sono corrette e, come previsto, sono semplicemente non nitide, ma piuttosto pixelate.
Sono in esecuzione su Windows 10 Casa a 64 bit sullo schermo 4k con il 200% DPI zoom, utilizzando Qt 5.6 RC msvc2015 64bit e provato con il raggiungimento degli stessi risultati utilizzando
QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
Se uso
QGuiApplication::setAttribute(Qt::AA_DisableHighDpiScaling);
i controlli sono nitidi, la dimensione del testo è ok ma tutte le dimensioni sono molto più piccole.
Come si rendono i controlli nitidi sullo schermo DPI alto?
Lo faccio sia con il foglio di stile per i widget: http://stackoverflow.com/questions/34407001/qt-and-high-dpi-screens/34408516#34408516 o utilizzo l'interfaccia utente QML. – AlexanderVX
Ho letto la tua risposta prima, ma questo non mi sembra il supporto nativo ad alta risoluzione di cui tutti hanno parlato. Id si aspetta che questo sia automatico, perché i controlli sono pixelati e non resi in modo nitido? Se questo è il comportamento standard, come può essere raccomandato da tutte le fonti ufficiali? –
Avendo una base di codice considerevolmente ampia, non abbiamo fretta di passare a Qt 5.6 e consideriamo 5.5 abbastanza stabile e in pratica hai appena scoperto quanto vantaggio si può ottenere in modalità AA_EnableHighDpiScaling. Se hai usato QML sarebbe molto diverso ma nitido. Attributo Rettangolo QML della scala mentale quindi. Un po 'più da leggere su https://doc-snapshots.qt.io/qt5-5.6/highdpi.html – AlexanderVX