Поврежденные виджеты Qt в Windows Mobile - PullRequest
0 голосов
/ 19 июня 2009

Я собираюсь предложить Qt мобильной компании, в которой я работаю. Однако оказывается, что виджеты Qt, созданные для настольных приложений, не будут хорошо работать на Windows Mobile 6.0. Они либо непропорционально выдавливаются на экран, либо расширяют его так, что половина приложения не видна. Вот несколько снимков экрана:

Приложение Windows расширяет экран:

альтернативный текст http://img193.imageshack.us/img193/171/boxesp.jpg альтернативный текст http://img193.imageshack.us/img193/9187/wiggly.jpg

и они сжаты, в отличие от способа ожидается:

альтернативный текст http://img221.imageshack.us/img221/4084/patient.jpg

Итак, хотя я следовал на каждом этапе процедуры установки , очевидно, что-то не так. В чем может быть причина этой коррупции? Разве я не могу просто скомпилировать один раз и развернуть везде ?

Спасибо.

Ответы [ 2 ]

4 голосов
/ 20 июня 2009

Все ваши примеры выглядят так, как будто окна не были настроены на полный экран. Это объясняет, почему они не «умещаются на экране», так как окно больше, чем дисплей. Почти все окна используют полноэкранный режим на Windows Mobile, так как для многих окон недостаточно места.

Последний пример выглядит как полноэкранный, но текстовая информация и графические элементы слишком велики для размера экрана.

Так что в целом похоже, что Qt работает как можно лучше с макетами, предназначенными для рабочего стола. Учитывая разницу в размерах между разрешениями рабочего стола и разрешениями устройств, макеты верхнего окна рабочего стола почти никогда не будут работать на экране небольшого устройства. Поэтому для любого переноса приложения Qt, написанного для разрешений размера рабочего стола, потребуется ретрансляция графического интерфейса пользователя и переделанных методов ввода, поскольку оба эти параметра сильно отличаются для настольных компьютеров и мобильных устройств.

Ваша идея «скомпилировать один раз и развернуть везде» не имеет смысла. Ссылка, которую вы указали, относится к MAC OS и версиям MAC OS.

Я бы подумал, что одним из основных преимуществ кросс-платформенной библиотеки GUI, такой как Qt, будет тот набор исходных кодов, который можно скомпилировать без изменений между множеством разных платформ. На настольных платформах это имеет смысл. На разных платформах устройств, которые «своего рода» имеют смысл, способы ввода могут сильно различаться между устройствами, а также основные концепции графического интерфейса также могут сильно различаться (например, сравнить устройство WM с устройством iPhone).

Так что думайте, что Qt может работать на вас, но вы должны:

  1. Всегда используйте полноэкранный режим.
  2. Предоставить макеты и графические элементы, которые с тех пор для размера экрана.

Одна из проблем, с которой вы можете столкнуться, если вы хотите поддерживать несколько устройств, - поддержка нескольких размеров экрана. Также поддерживается динамическое изменение размеров экрана между protrait и пейзажем. Эти требования являются частью Mobile2Market Требования к сертификатам и частью нового Microsoft Mobile Marketplace (хотя я не могу найти подобное требованиям).

2 голосов
/ 19 июня 2009

При выполнении встроенного пользовательского интерфейса есть много вещей, которые вы не можете сделать совершенно так же, как настольные приложения. Так что, действительно, большая часть пользовательского интерфейса не будет записана ни разу, ни где-нибудь. Тем не менее, вы часто можете написать один и тот же код и просто использовать другой файл пользовательского интерфейса, который учитывает ограничения встроенной системы.

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

...