Обо мне

Моя фотография
Индивид, которому нравится слушать качественную музыку, а потом делиться впечатлениями с другими!

четверг, 19 мая 2011 г.

Saladin - двухпанельный файловый менеджер на Qt

На форумах по программированию часто встречаются топики, в которых разработчики либо интересуются как создать свой собственный, либо представляют на суд общественности уже готовый. Qt-сообщество не является исключением, наверное, на каждого из нас находило вдохновение по написанию собственного файлового менеджера. Под windows двухпанельных менеджеров пруд-пруди, чего стоит один только TotalCommander со своими почти неограниченными возможностями.. Под linux дела обстоят несколько хуже, Total-подобных программ достаточно мало - DoubleCmd, EmelFm, Krusader, который является наиболее удачным аналогом своего windows собрата, однако безбожно увяз в KDE зависимостях. Из интересных проектов, которые были бы написаны на чистом Qt, без разного рода громоздких сторонних зависимостей, в принципе, ничего стоящего не встречается. На нашем дорогом форуме для программистов однажды забрезжил свет надежды в виде PanterCommander, однако проект так завершен и не был. Из созданных исключительно под windows os, честно скажу, заинтересовал лишь один - Saladin, который использует на всю мощь возможности операционной системы и написанный нашим соседом-поляком.


Ознакомиться с возможностями программы вы можете проследовав на официальный сайт, расположенный по адресу - http://saladin.mimec.org/


воскресенье, 1 мая 2011 г.

[Qt] Статическая сборка под windows посредством Microsoft Visual Studio 2008. Это просто!

Для начала скачиваем с сайта Nokia пакет с исходным кодом библиотеки Qt и распаковываем его.
Затем переходим в данную директорию и открываем командную строку (консоль) из состава Microsoft Visual Studio Command Prompt и запускаем configure.exe со следующими параметрами:


-static
-release
-fast
-no-qt3support
-qt-gif
-qt-libpng
-qt-libmng
-qt-libjpeg
-qt-libtiff
-no-dsp
-no-vcproj
-no-plugin-manifests
-mp
-nomake
demos
-nomake
examples

После того, как процесс конфигурирования будет закончен, вводим команду nmake для запуска  сборки. По окончании удалим ненужные созданные в процессе сборки файлы командой nmake confclean.

четверг, 28 апреля 2011 г.

[Qt] Минимум информации при сборке

Собственно сабж. В файл проекта (.pro) добавьте в секцию CONFIG опцию silent.

Сегодня буду краток 

среда, 27 апреля 2011 г.

[Быт] И все-таки... Как починить ручку в Chicco Tech 6 wd. Часть 2. Заключительная

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

Таким образом, разобрав ручку - уберите пластиковые кнопки.

суббота, 23 апреля 2011 г.

[Быт] Поломалась ручка в коляске Chicco Tech 6 wd. Как починить

Столкнулись с такой проблемой, как поломка ручки в коляске Chicco Tech 6 wd - перестала держаться, болтается сверху вниз, кнопки запали и не отжимаются. Разобрать не представлялось возможным, инструкций, руководств или хотя бы подсказок в интернете тоже не нашлось. Вчера наконец разобрались как быть. В нашем случае, пришлось просверлить пластиковую кнопку по центру (можно сделать шилом). Прямо по центру находится шуруп, открутив который ручка быстро разбирается. Далее уже на что фантазии хватит


[Qt] Сборка vlc-qt. Пошагово. Часть 1

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

1. Скачиваем саму библиотеку vlc-qt по ссылке http://qt-apps.org/content/show.php/VLC-Qt+library?content=133649

2. Скачиваем исходный код проигрывателя VLC по ссылке http://sourceforge.net/projects/vlc/files/1.1.9/vlc-1.1.9.tar.bz2/download, а также собранный дистрибутив проигрывателя, который сразу же устанавливаем.

3. Скачиваем дистрибутив CMake, который понадобится нам для сборки библиотеки по ссылке http://www.cmake.org/cmake/resources/software.html

4. Убеждаемся в том, что у нас в системе есть библиотека Qt, компилятор mingw32 и, что пути к ним прописаны в системном PATH.

5. Создаем директорию, например, D:\VLC

6. Распаковываем в нее исходники библиотеки vlc-qt, которую скачали в п.1 (у нас должно получиться D:\vlc\libvlc-qt-0.5.0\)

7. Из исходников VLC копируем (распаковываем) папку vlc, которая находится в папке vlc-1.1.9\include\vlc в D:\vlc\libvlc-qt-0.5.0\src (должно получиться D:\vlc\libvlc-qt-0.5.0\src\vlc)

8. Создаем каталог D:/vlc/libvlc-qt-0.5.0/build

9. Устанавливаем Cmake и запускаем cmake gui

10. "Where is the source code" нажимаем кнопку Browse Source и выбираем каталог D:/vlc/libvlc-qt-0.5.0

11. "Where to build the binaries" нажимаем кнопку Browse Build ... и выбираем каталог D:/vlc/libvlc-qt-0.5.0/build

12. Нажимаем кнопку Configure

13. Получаем ошибку. Не расстраиваемся и делаем все в соответствии с изображением из следующего пункта

14.

Смысл в том, чтобы для поля LIBVLC_INCLUDE_DIR выбрать в качестве параметра директорию D:/vlc/libvlc-qt-0.5.0/src/vlc (то есть ту папку в которую мы копировали заголовочные файлы из архива с исходниками самого проигрывателя)

Для параметра LIBVLCCORE_LIBRARY выбираем библиотеку C:/Program Files/VideoLAN/VLC/libvlccore.dll, которая установилась с проигрывателем VLC из п. 2

Для параметра LIBVLC_LIBRARY выбираем библиотеку C:/Program Files/VideoLAN/VLC/libvlc.dll, которая установилась с проигрывателем VLC из п. 2

Установленные библиотеки нужны для линковки.

15. Снова нажимаем Configure

16. Нажимаем на кнопку Generate

17. Закрываем Cmake

18. Открываем командную консоль (Меню Пуск-Выполнить-cmd либо через Total Commander, если пользуетесь им, Open Terminal Here)

19. В консоли переходим в нужный нам каталог, если не перешли ранее, cd D:/vlc/libvlc-qt-0.5.0/build

20. Собираем библиотеку. В консоли вводим команду mingw32-make (при условии, что путь к компилятору у вас добавлен в PATH, либо пишете полный путь к компилятору D:\Qt\2010.05\mingw\bin\mingw32-make.exe

21. ждите

22. Вроде собралось без ошибок.

Всё, на этом сборка собственной библиотеки закончилась. На днях я подробно расскажу о том, как подключить к своему проекту данную библиотеку. Для нетерпеливых рекомендую ознакомиться с примерами vlc-qt. Там все ясно и понятно.

Обсуждение на Russian Qt forum

Постоянный партнер блога:

Профессиональные услуги адвоката в Минске. Абрамович В.А. Корректировка таможенной стоимости. Защита интересов в хозяйственных судах. Признание и приведение в исполнение судебных постановлений иностранных судов на территории Республики Беларусь. - Abramovich.by

Syntax Code Highlighter

Долгие попытки найти достойный онлайн-сервис для подсветки кода, наконец-то, увенчались успехом - pastebin.com удовлетворяет всем потребностям.

[Qt] Рисуем сетку в *view при помощи QStyledItemDelegate

Как нарисовать сетку в QTreeView, -Widget и так далее? Достаточно просто и есть даже несколько примеров из состава Qt на основе QItemDelegate. Однако минусом такой реализации будет являться то, что при использовании вышеназванного делегата становится невозможным использование Qt StyleSheet (qss) вкупе с View. Для использования со стандартным стилем самими разработчиками рекомендуется использование QStyledItemDelegate.

Таким образом, нарисуем сетку:

gridlinedelegate.cpp


gridlinedelegate.h

четверг, 21 апреля 2011 г.

[Qt] очистка QHeaderView

Возникла ситуация, когда один и тот же QTreeWidget необходимо использовать для отображения различных данных с разным количеством столбцов в зависимости от ситуации. Как таковой функции clear() у QHeaderView нет, а использование reset() к желаемому результату не приводит, и столбцы не очищаются.

Решением в данной ситуации является использование treeWidget->setColumnCount(0) перед отображением новых данных.

понедельник, 18 апреля 2011 г.