Qt
Всего сообщений: 52
Рабочий ноутбук
Собственно, программа, которую я пилю с коллегой: отображение состояния космических аппаратов (на картинке метеоспутник - Электро-Л).
Написано на Qt и OpenSceneGraph.
О системе:
- ноутбук Acer Aspire 5745DG
- ArchLinux x86_64
- awesome
Скриншот со всеми рабочими столами: ссылка.
>>> Просмотр (1366x768, 189 Kb)
Qt Wayland
Собрал свежий срез Qt вместе с модулем Qt Wayland, обнаружил в нем неплохую реализацию композитора, пока конечно не такую интересную, как Weston и тоже больше как пример простейшей реализации, но в любом случае хочу заметить, то эти самые окошки на скрине выводятся не поверх Weston'а, а поверх Qt шного примера. Что порадовало так это отсутствие проблем с прозрачностью, что было вечным траблом X11 и куда более плавный ресайз содержимого окошек. Хотя Qtшный композитор пока и отстает от Weston'а в этом вопросе. Ну и на закуску замечу, что в качестве темы виджетов юзается чуть чуть подпиленный под Qt5 QtCurve. Все подпиливание заключалось в убирание костылей для Qt3 и X11.
На фоне бетка kde 4.9.
PS QtCreator
>>> Просмотр (2560x1440, 1088 Kb)
arch back to gs
вернулся с awesome -> kde на гном-шелл
дефолтный док отрублен экстеншеном ( https://extensions.gnome.org/extension/79/hide-dash/ ),
мессагинг-трэй (нижняя правая херня с уведомлениями и трэй-иконками) отрублен экстеншеном ( гуглится по gnome-shell remove bottom bar ),
трэй-иконки из мессагинг-трэя перенесен на верхнюю панель, опять же экстеншеном ( https://extensions.gnome.org/extension/192/status-icon-fixer/ ),
хоткорнер (вызов активитис при заходе в верхний левый угол) отключен соответсвующим экстеншеном ( https://extensions.gnome.org/extension/118/no-topleft-hot-corner/ ),
кнопка активитис отключена тоже экстеншеном ( https://extensions.gnome.org/extension/292/remove-activities-button/ )
активитис вызываются теперь только по ALT+F1
на верхней панеле кнопочка с надписью Floating = экстеншен добавляющий вертикальный/горизонтальный тайлинг: https://extensions.gnome.org/extension/294/shellshape/
нижний док awn
для сравнения на скрине в роле gtk3 — наутилус, в роле qt — qutim
>>> Просмотр (1920x1080, 981 Kb)
Qupzilla
Привет! Осилил я таки qupzill'a.
Плюсы:
- Нативно выглядит;
- Нативно работает;
- Быстрее фуррифокса;
- Няшная экспресс панель;
- Жесты мышью.
Минусы:
- Настроил Ruadlist через небольшую правку сырцов.
- Еле добавил этот топик, maxcom, показывает скриншоты чьи-то вместо страницы добавления.
- Пунктир около ссылок. Как убрать?:(
Ну и тема:
- Plasma - Nitrogenium;
- Значки - KawOken;
- DejaVu Sans 9;
- Цвет. схема где-то в теме про плазму есть.
>>> Просмотр (1920x1080, 555 Kb)
mifa — анализатор формата данных
При анализе данных, вычитываемых системой сбора, на предмет сбоев бывает необходимо просматривать данные глазами слово-за-словом. Ломая неоднократно глаза за этим занятием я решил слепить что-нибудь для его облегчения. Идея для такого инструмента не пришла сама, идея была «нагло спёрта» ;) у анализаторов протоколов (например: http://www.usbee.com/suite.html, http://www.usbee.com/dxpp.html, это не реклама!!!), встраиваемых сейчас даже в некоторые модели цифровых осциллографов. Поделие было названо mifa — MISS format analyzer (МИСС это стандарт на крейтовую электронику, изобретённый лет 20 назад в нашем институте) и стало органичной частью dem (decoding error monitor), приложением для мониторирования работы системы сбора и сбора статистики ошибок декодирования данных (уже презентованное ЛОРовской публике в недалёком прошлом анализ работы системы сбора данных)
mifa написана на питоне, декодинг производится в библиотеке написанной на С. Событие рендерится в виде древовидного списка (QTreeWidget) слов буфера, из которого событие декодируется. Т.е. 4-х байтные слова буфера представлены последовательно (buffer word — слово в hex, offset — смещение слова в буфере) с раскодированной в них информацией и обнаруженными ошибками. При чтении файла с данными можно задать критерий останова например по маске ошибки для каждого модуля (обнаруживается более 50 типов ошибок), слева внизу показано окошко для указания типов ошибок в маске. Справа внизу показано выбранное (мышкой по слову в дереве тыц!) раскодированное слово с номерами и значениями битов, раскодированная в полях слова информация и названия полей. Справа вверху виден кусок таблицы с ранжированными корзинами и ошибками в них (я описывал таблицу в прошлом скриншоте). Остальное, надеюсь, понятно по названиям.
Рендеринг построен на шаблоне проектирования builder. Рендереры, знающие только формат данных, реализованы в виде библиотеки питоновских модулей, за представление (отрисовку с помощью QTreeWidget) отвечает builder, что позволяет менять представление без переделки рендереров. Рендереры создаются во время рендеринга с помощью шаблона factory method (virtual constructor), используя свойство питоновских классов first class object. Весь анализатор занимает около 1500 питоновских строк включая библиотеку из 22 рендереров.
Код предоставлю всем жаждущим по запросу.
>>> Просмотр (1920x1200, 364 Kb)
анализ работы системы сбора данных
Как правило системы сбора данных в экспериментах физики высоких энергий изделие штучное, по немалой степени разрабатываемое под каждый эксперимент заново (естественно проверенные переиспользуемые компоненты тоже есть ;) ). Нередко электроника системы сбора не проходит тщательную отладку, эксплуатируется в нестандартных условиях, что приводит к необходимости непрерывного контроля работы электроники.
На скриншоте показано приложение для on/off-line анализа работы системы сбора данных. Отображаются (слева направо, сверху вниз): окно таблиц с суммой ошибок по последнему рану и сбросу ускорителя, окно со списком ошибок в узлах, отсортированный по количеству ошибок, окно с таблицей усреднённой длины данных по каждой корзине электроники ранжированных по месту в каждом событии, окно со всеми ошибками в конкретных узлах, конфигурационное окно с длиной данных и количеству ошибок по каждому узлу.
Длина данных указана в 4-байтных словах. Таблицы генерятся в виде HTML, отображаются с помощью QWebViewer и сбрасываются в файлы, для удалённого просмотра из web-browsers через web-server. Приложение написано на python с использованием PyQt, декодинг и накопление статистики производятся в библиотеках написанных на C, что позволяет «молотить» данные со скоростью C, а отображать с удобством python.
>>> Просмотр (1920x1200, 456 Kb)
ArchLinux, Gnome3
Наконец-то настроил Gnome 3 так, что в нем даже можно работать. Первое время плевался. Не хватало главного меню, классического таскбара и переключателя рабочих столов.
Стоило добавить пару расширений, и уже жизнь в gnome 3 перестала быть нелепой мечтой.
Ну а по существу: домашний десктоп. Слушаем музыку, смотрим фильмы, сидим в интернете и помогаем девушке с дипломом, разрабатывая утилиту для лингвиста.
Оригинальный скриншот: http://imageshack.us/f/72/20120129134815.png/
>>> Просмотр (1680x1950, 834 Kb)
мое рабочее место
Давно хотел выложить фотку со своим «рабочим местом». Вот отсюда управляется коллайдер ВЭПП-2000. Да, да... они есть не только в Швейцариях. :)
Пара слов о том, что собственно на фотке. На эти 12 мониторов выводится вся информация о работе коллайдера и соответственно все программы по настройке этой работы. Используется gentoo, xinerama, xfce, synergy.
Где-то в других комнатах стоят машины, к которым подключено «железо». Для «общения» с железом используются CAN, CAMAC, ethernet, usb. Еще есть сервер с файлопомойкой и бд - используем NFS и Postgresql.
Все это работает, за исключением нескольких powerpc в VME крейтах, на обычных PCшках, «накопившихся» за 10 лет. Где-то они запиханы в рэковые корпуса и стойки, где-то банально прикручены к столам. Программы для управления все самописанные - используется C,C++, Qt, GTK, Qwt, MathGL, Motif - кто во что горазд.
Вот такой вот зоопарк. Однако, все работает! :)
>>> Просмотр (1348x1000, 313 Kb)
Qt4 на Android (necessitas - 0.3)
не так давно порт Qt4 для андроида (Necessitas - http://sourceforge.net/p/necessitas/home/necessitas/) обновился до 0.3 версии (версия Qt - 4.8бета где-то).
Изменения внешне невелеки - но немало кода попереписано:
- обновилось само приложение загрузки Qt4 библиотек (Ministro, да ещё и иконку переделали :) теперь в Android Market два похожих приложения). И для сборки используе kde.org инфраструктура;
- сборки Qt уже идут для armv5 и armv7a(Cortex). х86 пока нет, но не думаю, что это будет проблемой;
- заработал OpenGL ES 1/2 (только в полноэкранном режиме - и, если я правильно понял переписку - то иначе и не будет до Qt5 - т.к. рендеринг UI элементов в OpenGL в 4.8 очень корявый) - на экране - Qt-шная демка на Motorola Milestone - немножко порванная - но это так захватил ddms (на эмуляторе не работает по-прежнему);
- QtMobility 1.2 - не всё работает пока (демка camera не пошла - похоже, из-за Multimedia), но большинство сенсоров и location заработали.
Резюмируя - текущее состояние значительно лучше, чем в начале года, но всё-ещё не готово для серъёзного практического использования. И да, ещё нет Qt-android стиля для GUI - а для многих конечных пользователей это может оказаться очень критично.
да, уже на скрине увидел, что загружены в память либы и для OpenGL ES1, и для ES2 - чего быть не должно по логике вещей (fallback с 2 на 1 не реализован в этой демке). погляжу потом, в чём дело.
>>> Просмотр (2041x1119, 220 Kb)
Песочный мост в действии
На скрине ненавистный Арч с ненавистными кедами. В трее, как обычно, зачётный срач, причём всем этим я умудряюсь пользоваться (автоскрытие, разумеется, настроено - специально для ЛОРа в развоороте).
Показан процесс кодирования Blu-ray > 720p в программе Handbrake. Песочный мост i5 2500k в разгоне до 4.4 GHz, что показывает i7z, на полную мощность работает при температуре 62-65 градусов. Вполне стабильно работает на 4.5 GHz при 65-68 градусах, но мы не жадные.
Были некоторые проблемы с модулем для Asus p8p67 для lm-sensors, но в 39-м ядре всё пофиксили, так что теперь Linux на этом железе работает в полную мощность.
ШГ - Дроед (все пакеты ванильные: без патчей), тема - курва (чуть подпиленная Kawal), иконки - Sand (для кед вообще почти нет нормальных иконок), плазма - tragedy.
Радует то, что GNU/Linux достойно поддерживает современное железо.
>>> Просмотр (1920x1080, 660 Kb)
Vacuum-IM 1.1.0
На скриншоте - сабж. Написан на C++ и Qt. Впечатления очень неплохие (после gajim):
- Занимает меньше места на диске (15 против 20 мегабайт);
- В поставку входит темный и красивый стиль;
- Настраиваются Ш;
- Отсутствует меню вверху главного окна, вместо него - кнопка в левом нижнем углу;
- Дополнительные функции - в виде расширений;
PKGBUILD нашёл в арчевском АУРе. Минус - он у меня иногда зависал.
>>> Просмотр (1920x1080, 628 Kb)
Qt4 на Android (necessitas)
На днях состоялся релиз поекта necessitas (https://sourceforge.net/p/necessitas/home/) - порта Qt4 под Андроид. Доступны SDK (сборка пре-qt4.8 и QtCreator с плагином для работы с андроидом) и либы Qt4 в Андроид маркет (Ministro). Проект разрабатывается больше года, а названия такие из-за некоторого нежелания Нокиа/Гугла давать пользоваться обычными android и qt4.
Из того, что не работает (на эмуляторе (что и видно на скриншоте) и moto milestone) - это OpenGL ES (сборка в андроид маркете/СДК сделана с OpenGL ES 1.x.). Cейчас пересобираю Qt для проверки ES 2.0 ;) Также видны логи в QtCreator и дополнительные файлы java - позволяющие разработку приложения на С++/Qt4 без программирования на java.
Это ещё не production-ready стадия, но уже можно начинать пользоваться :)
upd: забыл упомянуть главное - код для запуска приложения менять не надо :) (только файл проекта); пересборка на ES2/android-5 дала аналогичный результат - нет вывода картинки ;) пересобираю на android-9 (там по-другому выводиться картинка); сборка на arm v7 не работает на эмуляторе (похоже, что-то не так с загрузчиком - не разбирался); QT>Qt исправил, спасибо (в т.ч. и от нокиевских маркетологов :)); а что касается шрифтов - если бы от подбора шрифта GL ES заработал бы - то уделил бы этому первоочередное внимание ;)
upd2: для примера - демка Diagramscene http://3.bp.blogspot.com/-HeqkCCqRKfA/TWnz2FZnF-I/AAAAAAAAeqY/GZ4rxRAm4VA/s16... ;
>>> Просмотр (1664x941, 224 Kb)
Arch + e17
HaikuOS
[qt][alpha] раскопал
точнее вспомнил...
на скрине покоцаный хромиум (9.*.*.*) psi+ и коньки (часть), ну и сабж - т.н. desktop environment Antico на кутях http://qt-apps.org/content/show.php/Antico+Light+(+qt+desktop+environment+)?c...
вечная альфа - поставил на посмотреть.
Понравилось:
быстрый! : в том числе и ресайз - просто реактивный, да и кушает ресурсов в пару раз меньше компизов-квинов
подхватил qtcurve
ПКМ - развернуть/свернуть (надо к себе утащить)
скорее необычно - открытые окна вместо сворачивания в кнопку на панели, отправляет в трей (там видно сечас тильду)
Ну а дальше куча косяков )
коньки, тильду не умеет - все они так с декором и идут
не умеет композит (если только кто-то ещё его включит)
беда с фокусом - пока не клацнешь по окну - он не передаётся (в том числе и всплывающим)
ненастраиваемый
так и не победил оформление окон - видно по левой части окна коньков
и ещё вагон и тележка других
короче, альфа, хотя впечатления всё-таки оставляет позитивные :)
>>> Просмотр (1280x1024, 270 Kb)
Кеды и коньки
Поделие.
Накодил тут на досуге программку простую программку для записи звука на С++ && Qt. Умеет писать звук с любого из доступных источников в любом из поддерживаемых им форматов (частота дискретизации, количество каналов, размер сэмпла) в raw pcm (Во всяком случае мне хочется в это верить). Также с помощью плагина может экспортировать в mp3 с проставлением тегов. Также скоро допилю плагин для экспорта в Ogg/Vorbis.
Писалось только для себя (точнее для отца, для оцифровки аудиокассет), поскольку в репах не нашел ничего легкого и удобного на Qt, чтоб могло еще и в различные форматы экспортировать.
Если хотя бы несколько человек считают, что такое поделие имеет право на жизнь - допилю и выложу на гитхаб/еще куда-нибудь. Зависимости: Qt (Core, Gui, Multimedia), у плагина экспорта в mp3 - libsndfile и libmp3lame.
Пара слов о скрине: openSUSE 11.3, KDE 4.4.4, EEE PC 900. В кадр попали 2 панели, обычно автоскрытые, одну из которых целиком занимает плазмоид fancy tasks. В левом нижнем углу есть еще одна панель, с кнопкой вызова меню и пейджером.
>>> Просмотр (1024x600, 115 Kb)
Swift IM
Swift — клиент мгновенного обмена сообщениями от Ремко Тронсона и Кевин Смита, бывших разработчиков Psi и авторов книги XMPP: The Definitive Guide.
Лицензия: GPlv3
>>> Просмотр (1680x1050, 691 Kb)
QGoogleTranslate - встречайте
И вот в течении недели я написал этот переводчик. Сделан он приемущественно под личные нужды, но я думаю, что многие сочтут его полезным.
Исходники брать так:
svn co http://qgt.googlecode.com/svn/branches/1.0 qgt
Внимание! Для сборки необходимо иметь следующие библиотеки: Qxt, QJson
Теплый png. Программа распространяется под лицензией GPL.
>>> Просмотр (1680x2100, 523 Kb)
следующие → |