Создаем TimePicker аналогичный стандартному в Harmattan
5 мин
Туториал
Этот пост участвует в конкурсе „Умные телефоны за умные посты“


Слева на картинке вы можете увидеть, как выглядит TimePicker (компонент настройки времени) в стандартных приложениях MeeGo Harmattan от Nokia. А справа TimePicker из MeeGo Qt Components (Extras), который предлагается разработчикам для использования. Различия на лицо.
Определенно, становится ясно, что существует некая несправедливость, потому что используемый Nokia компонент недоступен разработчикам сторонних приложений, несмотря на то, что он более красив и функционален. Честно говоря, на мой взгляд, это лучший вариант TimePicker'а, который я видел.
Итак, ниже я покажу, как реализовать такой компонент самому, и вы убедитесь, что все относительно просто.


Слева на картинке вы можете увидеть, как выглядит TimePicker (компонент настройки времени) в стандартных приложениях MeeGo Harmattan от Nokia. А справа TimePicker из MeeGo Qt Components (Extras), который предлагается разработчикам для использования. Различия на лицо.
Определенно, становится ясно, что существует некая несправедливость, потому что используемый Nokia компонент недоступен разработчикам сторонних приложений, несмотря на то, что он более красив и функционален. Честно говоря, на мой взгляд, это лучший вариант TimePicker'а, который я видел.
Итак, ниже я покажу, как реализовать такой компонент самому, и вы убедитесь, что все относительно просто.


Когда Qt Quick/QML только было заявлено, от Нокии звучали слова, что «в перспективе не только пользовательский интерфейс будет писаться на Qt Quick, но и вся логика несложных приложений будет написана на яваскрипте, программистам не потребуется написать ни строчки кода на плюсах». Заявление было ещё более провокационное, чем мой заголовок, и сразу меня заинтересовало: я решил попробовать написать несложную игру без единой строчки кода на плюсах.
Обычная Qt-программа имеет ряд несостыковок с Apple HIG. Точнее, может иметь, так как не всем программам нужен дополнительный функционал. Например, не любой программе надо иметь бэдж поверх значка в доке, расширять меню дока или выносить/дублировать некоторые функции в маковское меню.




