• Разработка для Sailfish OS: работа с картами и геолокацией

    • Tutorial
    Здравствуйте! Данная статья является продолжением цикла статей, посвящённых разработке приложений для мобильной платформы Sailfish OS. На этот раз речь пойдёт о том, как можно реализовать в приложении получение информации о географическом положении устройства, отображение карты с текущим местоположением и пройденным маршрутом.
    Читать дальше →
  • Компания LG объявила о выпуске открытой платформы WebOS Open Source Edition

      LG Electronics сообщила о доступности webOS Open Source Edition, рассчитанной главным образом на разработчиков, разрешив другим компаниям использовать ее в своих устройствах. Это дает возможность другим компаниям задействовать webOS Open Source Edition в своих продуктах: телевизоры, IoT устройства, планшеты, или смартфоны.


      palm


      Версия 1.0 новоиспеченной webOS OSE оптимизирована для Raspberry Pi 3, однако поддержка новых платформ не за горами. Страница настройки содержит инструкции по сборке прошивки для загрузки с microSD карты. Для сборки необходима Ubuntu 14.04 LTS 64-bit, 4-х ядерный процессор Intel Core i5, 8 GiB ОЗУ и 100 GiB дискового пространства.

      Читать дальше →
    • Простая Kanban-доска для Jira

      • Tutorial
      Здесь я расскажу, как сделать канбан-доску для проекта в Jira, пользуясь только QML и JavaScript. С небольшими доработками вместо Jira вы можете использовать любой другой трекер, имеющий REST API.



      Предыстория


      Некоторое время назад, теперь уже практически в другой жизни, в мою бытность руководителем проекта, я понял, что теряю представление о занятости участников нашего проекта. Кто-то занимается Большим и Важным делом, кто-то исправляет срочные баги, а может быть кто-то, извините, балду пинает, а я об этом не в курсе и задачи ему не ставлю. И мне захотелось иметь наглядную картинку текущих дел.
      Читать дальше →
    • Как сделать адекватное отображение horizontal scroll bar в QTreeWidget с одной колонкой

      Привет, Хабр.


      В этой статье я решил оставить решение проблемы непонятного поведения QTreeWidget – GUI компонента кроссплатформенного фреймворка Qt. Проблема, мне кажется, актуальная, потому что вопрос задаётся на многих форумах, но верного решения не приводится. Впрочем, если я ошибаюсь, НЛО мне об этом сообщит.


      Проблема


      В Qt есть компонент QTreeWidget, предназначенный для древовидного отображения информации. Элементом или узлом дерева может быть текст с картинкой, или же другой виджет.


      В ходе эксплуатации этого компонента у некоторых пользователей возникает проблема, когда текст элемента или узла не помещается в ширину виджета, и компонент при этом не позволяет пользователю скролить содержимое влево/вправо чтобы тот мог прочитать текст целиком. Вместо этого появляется троеточие в конце текста. Проблема встречается в случаях использования виджета с одной колонкой, или с несколькими (тогда проблема возникает в последней колонке).


      Никакое свойство класса QTreeWidget или его предков не даёт возможности активировать автоматическое изменение размера области просмотра колонки. Так что, если вы тоже столкнулись с этим недоразумением, прошу под кат.

      Читать дальше →
      • +11
      • 2,2k
      • 5
    • Qt: Пишем обобщенную модель для QML ListView

      Кому-то материал этой статьи покажется слишком простым, кому-то бесполезным, но я уверен, что новичкам в Qt и QML, которые впервые сталкиваются с необходимостью создания моделей для ListView, это будет полезно как минимум как альтернативное*, быстрое и довольно эффективное решение с точки зрения "цена/качество".


      *Как минимум, в свое время ничего подобного мне нагуглить не получилось. Если знаете и можете дополнить — welcome.


      О чем шум?


      С приходом в Qt языка QML создавать пользовательские интерфейсы стало проще и быстрее… пока не требуется тесное взаимодействие с C++ кодом. Создание экспортируемых C++ классов достаточно хорошо описано в документации и до тех пор пока вы работаете с простыми структурами все действительно достаточно тривиально (ну почти). Основная неприятность появляется, когда нужно "показать" в QML элементы какого-то контейнера, а по-простому — коллекции, и в особенности, когда эти элементы имеют сложную структуру вложенных объектов, а то и другие коллекции.


      Интересно?

      Читать дальше →
    • VLC 3.0 Vetinari

        Неплохо начался и продолжается год для Linux в качестве рабочей станции. Вслед за третьим Wine, настало очередь популярнейшего медиаплеера VLC. После длительного и напряженного цикла разработки VideoLAN анонсировала выпуск видеоплеера с открытым исходным кодом VLC 3.0.0 озаглавленного Vetinari. Новая версия доступна для платформ Linux, *BSD, Mac, IOS, Windows и Android. В новой версии появилось множество современных возможностей: поддержка iPhone X, звука 3D, HDR видео, а также проигрывание видео с оборотом 360 градусов.


        VLC X-Box


        Среди самых заметных новшеств следует назвать поддержу видео высокой четкости 4k / 8k, видео 10-бит, проброс HD аудио кодеков, меню BD-J BluRay Java, поддержка NAS устройств, Google Chromecast и FTP, SFTP, SMB подключений.

        Читать дальше →
      • Ой, у вас баннер убежал!

        Ну, и что?
        Реклама
      • На волнах эффекта Ли: Питонизируем генерацию DAF

          imageПо статистике 1-4 % населения Земли подвержены дефекту речи, характеризующимся частой пролонгацией звуков (слогов, слов) и/или частыми остановками в речи, нарушающими ритмическое ее течение. В простонародье этот феномен известен как заикание.

          На данный момент мир не знает панацеи, на 100 % избавляющей от заикания, однако существует преинтереснейший метод, позволяющий с тем или иным успехом купировать это речевое нарушение у большинства заикающихся. Метод основан на эффекте Ли, заключающемся во влиянии задержки акустической слуховой афферентации на плавность речи, и носит название DAF (Delayed Auditory Feedback).

          Ниже рассмотрим пример построения на коленке простого генератора речевой обратной связи силами Python и PyQt. У-у-ух, it's gonna be fun!
          Читать дальше →
          • +12
          • 2,7k
          • 3
        • Разработка сканера Wi-Fi сетей для Sailfish OS

            Введение


            Порой, при решении рабочих задач, возникает необходимость в информации об окружающих сетях Wi-Fi: канал, мощность, тип шифрования и др. И если для популярных мобильных ОС Android и iOS утилит много, то для Sailfish OS — только одна. Сегодня, на примере данной утилиты, будет разобрано получение информации об окружающих сетях Wi-Fi и её отображение двумя способами: списком и графически.

            До изучения материала желательно иметь базовое представление о разработке под Sailfish OS и об утилите wpa_cli.
            Читать дальше →
            • +13
            • 3,2k
            • 4
          • Больше чем Java?

            Закончив очередной проект на Java, я попытался разобраться в причинах накопившегося раздражения. Да я люблю Яву и все такое, но… Есть несколько «но», которые досаждают. Приходится писать довольно много шаблонного кода, с генерацией которого вполне может справиться сам компилятор, IDE, конечно, выручает, но это не решение проблемы, а скорее костыль: если что-то изменилось, нужно перегенерить и вычистить и т.д. Проверки на null! Это зубная боль, по-хорошему, нужно делать их всегда дабы не нарваться на «нежданчик» в виде NullPointerException в самый неподходящий момент. Короче говоря, появилось желание посмотреть, что еще появилось в природе и сможет ли это нечто заменить мне Java. Дальше имеет смысл описать участников данного сравнения. Сразу скажу, что не претендую на полноту анализа, к сожалению, у меня было слишком мало времени, чтобы как следует познакомиться с каждым языком.

            Обязательные требования к претендентам, которые у меня были:

            • Язык общего назначения
            • Кроссплатформенность (хотя бы Windows/Linux)
            • Стабильность
            • Статическая типизация
            • Автоматическая уборка памяти
            • Поддержка полноценной объектно-ориентированной парадигмы
            • Хорошая поддержка в IDE (Eclipse, IDEA или на худой конец NetBeans)
            • Безгемморойный доступ к существующим фреймворкам/библиотекам
            • Производительность на уровне Java
            Читать дальше →
          • Preview документов в программе на Python

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


              Почему-то естественным решением подобных задач обычно считают запуск MSWord с именем файла в командной строке. Но этот способ, мягко говоря, не слишком безопасен — в doc-е могут быть макросы, или это может быть вообще не doc, а специально приготовленный взломщиком файл. Поэтому лучше использовать специальный объект просмотра, реализованный в Офисе. Он более защищен, так как ничего другого, кроме просмотра документа, делать не умеет.

              А если мы не будем ограничиваться одним форматом doc, тогда в качестве бонуса получим возможность просмотра вложенных документов в других форматах, для которых в Windows зарегистрированы стандартные просмотрщики.

              Забегая вперед — всё получилось с помощью PyWin32. Правда, неожиданно в процессе пришлось скомпилировать свой пакет для поддержки нужного COM-интерфейса, но обошлось без жертв.
              Читать дальше →
              • +17
              • 7,4k
              • 6
            Самое читаемое