LINUX.ORG.RU

Протестировать HiDPI на обычном мониторе

 , ,


0

3

Как можно в Linux протестировать поведение иксового (в частности Qt-шного) приложения на HiDPI, имея в распоряжении только обычный монитор? И возможно ли это вообще? Google выдаёт ссылки как такое сделать только для браузеров и MacOS.

Приложение на GTK или Qt?

Есть переменные окружения, отвечающие за масштабирование элементов интерфейса.

EXL ★★★★★
()

попробовать запустить умеющую в хайдпай прогу на планшете/смартфоне?

mos ★★☆☆☆
()

Можешь увеличить разрешение виртуальное до безобразия, но реальное HIDPI получится протестировать только на реальном мониторе, как у меня.

peregrine ★★★★★
()
Ответ на: комментарий от EXL

Почему принято считать, что HiDPI — это что-то про масштабирование? GUI должен быть написан так, чтобы не хардкодить размер виджетов в пикселах, а привязывать, скажем, к размеру системного шрифта или делать его настраиваемым. А масштабирование — костыль, призванный сделать плохо написанный UI выглядеть сколь-нибудь сносно на мониторах с высоким разрешением.

Softwayer ★★
()
Ответ на: комментарий от Softwayer

Справедливое замечание, если оно касается библиотеки виджетов. С другой стороны в GUI-программах должен быть реализован механизм, позволяющий выбирать иконки под разрешение. И, видимо, будет логично, если этот механизм будет унифицирован для всех программ.

zloy_starper ★★★
()
Ответ на: комментарий от zloy_starper

С другой стороны в GUI-программах должен быть реализован механизм, позволяющий выбирать иконки под разрешение

QIcon может содержать в себе как пачку картинок разных размеров, так и svg. Так что этот механизм уже есть, главное им пользоваться.

anonymous
()
Ответ на: комментарий от EXL

Ни Qt 4, ни GTK+2 не могут в HiDPI

Я знаю. Я хотел посмотреть можно-ли что-то накостылить в самом приложении, чтобы исправить ситуацию. Для этого я хотел сначала посмотреть что же происходит на HiDPI, не имея HiDPI монитора.

Тебе придётся переписать программу на Qt 5

Это не вариант, т.к. оно ещё с Qt3 не до конца переписано (тянет Qt3Support).

DarthVadimius ★★★★
() автор топика
Ответ на: комментарий от zloy_starper

Я плохо знаю, что с этим в существующих тулкитах, но в темах обычно иконки имеются в нескольких разрешениях в растре и ещё впридачу в SVG, так что не очень понятно, какие с этим проблемы.

Softwayer ★★
()
Ответ на: комментарий от Softwayer

Какие там и с чем проблемы мне тоже не очень понятно. Просто я имею HiDPI монитор и лицезрею странные иконки в трее, или в разных браузерах и некоторых программах, ну и прочие чудеса, где, казалось бы, их и быть не должно.

zloy_starper ★★★
()
Ответ на: комментарий от EXL

Тебе придётся переписать программу на Qt 5.

«Переписать» - это уж очень страшное слово для процесса, который во многих случаях подразумевает втыкание пары-тройки условных компиляций.

Хотя если в проекте использовался какой-нибудь Phonon, то да, не повезло.

hobbit ★★★★★
()
Ответ на: комментарий от DarthVadimius

Это не вариант, т.к. оно ещё с Qt3 не до конца переписано (тянет Qt3Support).

Избавиться от Qt3Support - не такая большая проблема, на самом деле. У меня больше всего проблем было с Q(3)Table, поскольку для механического переноса на QTableWidget приходится писать гораздо больше букв, чем это было в оригинале, проверять, все ли Item-ы есть и при необходимости инициализировать... В итоге, оглядываясь на проделанную работу, я подумал, что вероятно, лучше было сразу переходить на модели - заодно и архитектуру бы улучшил. Но в начале перевода мне так не казалось. Всё остальное, в основном, касалось переименования методов и пр.

Так или иначе, от Qt3Support я избавился, чему очень рад. По сравнению с эпопеей Qt3/4 переход Qt4/5 выглядит вообще незаметно. По крайней мере, в моём хобби-проекте (это не тот проект, который упоминается в предыдущем абзаце, тот был по работе) малой кровью поддерживается сборка как под Qt4, так и под Qt5, и я надеюсь, что так останется и дальше.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.