2015-10-29 2 views
1

Я занимаюсь разработкой Qt (версия 4.8) плагина для Maya и творю 60-пикселы высоты панели инструментов, к которым я добавляю 60-пиксели-высоких иконки:Detect экрана Retina в Qt для Maya

actionToolBar = addToolBar(tr("Actions")); 
actionToolBar->setIconSize(QSize(60,60)); 

actionButton = new QToolButton; 
actionButton->setIcon(QIcon(createMyPixmap())); 
actionToolBar->addWidget(actionButton); 

На обычном дисплее значки отображаются правильно на панели, но на экране сетчатки полоска отображается на половину ее размера, поэтому значки усекаются, что требует от меня наличия панели инструментов 120x120. Как я могу обнаружить экран сетчатки, а затем динамически создать правильный размер панели инструментов?

+0

Qt4 не поддерживает сетчатку. Вы должны искать некоторые родные способы. –

+0

Хорошо спасибо. Как выглядят пиксели против очков? –

+1

Вы можете получить собственный дескриптор окна и определить DPI с API-интерфейсом для платформы. –

ответ

2

Вы ищете QScreen собственности devicePixelRatio

Как было отмечено в комментариях, это было введено в Qt5

+0

Спасибо, но они появились только с Qt 5, и я должен использовать Qt 4.8. –

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

  • Нет связанных вопросов^_^