2013-06-20 3 views
3

Интерфейсы Qt в настоящее время выглядят ужасно на экране сетчатки, поскольку они масштабируются. Можно использовать Info.Plist для приложения с соблюдением, но у кого-нибудь есть решение для динамического питона, такого как интерфейсы, созданные в PySide?Оптимизация приложений QT на Python на сетчатых дисплеях

+2

Возможно, вам следует объяснить, как вы масштабируете свой графический интерфейс, а как результат выглядит «ужасно». – Luke

ответ

3

Вы не сказали, что Qt версии вы работаете с. Поддержка Retina лучше всего в последней версии, Qt v5.1. но v5.0 тоже неплохо. Если вы все еще на Qt v4.8, вам нужно вручную применить patches, чтобы включить высокий уровень DPI.

Режим высокого DPI управляется следующими ключами в файле Info.plist:

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

Qt 5 использует краски двигатель растровую и реализует высокой точек на дюйм векторной графики путем масштабирования художника преобразования. Если NSHighResolutionCapable не установлен, приложение будет отображаться при «нормальном» разрешении, которое просто будет увеличено. Это выглядит ужасно на дисплеях с высоким разрешением. С другой стороны, режим высокого разрешения полностью обратно совместим и хорошо отображается на дисплеях с более низким разрешением. Я бы оставил его включенным все время.

Как только высокий DPI включен, вам все равно нужно убедиться, что все ваше растровое содержимое (ресурсы изображения) имеет достаточно высокое разрешение, которое должно отображаться красиво. Для получения полной информации см. Сообщение QT Blog Retina display support for Mac OS, iOS and X11.

+0

Пропущенные данные патчей. Спасибо djf. – Marcus1219

1

Я в основном выяснил решение: убедитесь, что у вас установлен QT >= 5, так как он был представлен в этой версии, во-вторых, теперь я запускаю python3.3.

Наслаждайтесь сетчатку

+1

Вы забыли ввести то, что является решением :) –

Смежные вопросы