Недавно на Хабре начали появляться статьи (1, 2) про замечательный компонент QScintilla.
Я один из разработчиков проекта Monkey Studio, и, последние полтора года, mksv3. Мы пользуемся QScintilla уже 5 лет. Периодически делаем для него баг репорты и патчи. Мы решили от него отказаться. И нам мучительно больно за потраченные на него годы.
Пишу этот пост, чтобы у других не случилось так же.
Читать полностью »
Рубрика «Qt Software» - 17
Темная сторона QScintilla
2012-05-30 в 7:06, admin, рубрики: qscintilla, qt, Qt Software, метки: qscintilla, QtПро QStringLiteral
2012-05-29 в 11:11, admin, рубрики: c++, c++11, QLatin1String, QStringLiteral, Qt Software, qt5QStringLiteral — это новый макрос, введенный в Qt 5, для создания объектов QString из строковых литералов. (Строковые литералы — это строки внутри кавычек в исходном коде). В этой статье я объясню, что там внутри и как они реализованы.
Выводы
Разрешите начать с информации о том, когда нужно пользоваться макросом. Если есть необходимость инициализировать объект QString из строкового литерала в Qt5, то стоит делать так:
- В большинстве случаев QStringLiteral(«foo») если он действительно будет преобразован в QString.
- QLatin1String(«foo») если он будет использоваться в перегруженных QLatin1String методах. (например operator==, operator+, startWith, replace, ...)
Я привел выводы в самом начале статьи для тех, кому не интересны технические детали.
Если интересно узнать, как работает QStringLiteral, читайте дальше.
Читать полностью »
Qt/Objective-C++11 или сборка Qt-проекта с помощью GCC-4.7 и Clang
2012-05-28 в 15:32, admin, рубрики: blocks, c++, clang, gcc, mac os x, macosx, programming, qt, Qt Software, Программирование, метки: blocks, c++, clang, gcc, macosx, objective-c, programming, Qt
Всем доброго хабрадня!
Сегодня я расскажу уважаемым хабражителям об очередном извращении — о сборке проекта, написанного на Qt, под Mac OS X компилятором GCC-4.7.0 с примесью Clang'а (про шланг — в конце статьи, там станет понятно, зачем ещё и его приплетать будем).
Для чего нам GCC 4.7? Ну, например, чтобы использовать все те крутые фичи из стандарта C++11. Разве этого мало? Кроме поддержки нового стандарта, в нём очень много улучшений по сравнению с идущим в комплекте с Xcode GCC 4.2 (хотя он и оказывается на поверку i686-apple-darwin11-llvm-g++-4.2), так что смысл в переходе на 4.7 явно имеется. Но и проблемы присутствуют, о чём ниже.
Мы можем предположить, что нам потребуются некие фичи из Cocoa, а значит, нам потребуется компилятор Objcetive-C, а ещё лучше — Objective-C++, чтобы, например, интегрировать наше Qt-приложение в окружение Mac OS X.
Читать полностью »
QScintilla: пишем свой лексер
2012-05-28 в 12:09, admin, рубрики: linux, qscintilla, qt, Qt Software, Ubuntu, Программирование, метки: linux, qscintilla, Qt, UbuntuПривет!
Это 2я статья цикла про QScintilla. Первая здесь. Для начала хочу сказать огромное спасибо всем, кто вывел меня из кармоямы! А теперь можно начать. Что мы сегодня будем делать? Мы напишем лексер для Assembler'а! «В коробке» его нету — не беда, напишем сами! Процесс довольно длительный, поэтому я буду немного меньше расписывать и комментировать. Тем более я не знаю язык ассемблера, так что лексер будет до ужаса примитивный и будет разрисовывать только комманды и комментарии.
Как сказал Гагарин — «Поехали!»
Читать полностью »
QScintilla: подсвечиваем синтаксис в приложении
2012-05-27 в 17:07, admin, рубрики: linux, qscintilla, qt, Qt Software, Ubuntu, Программирование, метки: linux, qscintilla, Qt, UbuntuПривет, $username!
Сегодня я хочу рассказать вам про отличный проект — QScintilla, который подсвечивает синтаксис кода в Qt-приложениях. Нередко возникает необходимось что-то подсвечивать. Например: C++, Bash, PHP, Diff… Этот список можно продолжать и продолжать. Но вот решение: порт Scintilla на Qt: QScintilla.
В этом посте я расскажу как установить и пользоваться QScintilla в своих приложениях на примере Ubuntu Linux.
Читать полностью »
Qt Build System: спасательный круг для сборки
2012-05-21 в 3:15, admin, рубрики: qbs, qmake, qt, Qt Software, метки: qbs, qmake, Qt 
Не так давно команда разработчиков Qt представила новую систему сборки — QBS. Разумеется, основной реакцией было «Да чем вас QMAKE не устраивал», «Просто адаптируйте CMAKE», «Ещё одна система сборки [xkcd, стандарты]». Обещанные преимущества новой системы: гибкость, понятный синтаксис для всех разработчиков (QML — javascript-подобный декларативный язык), скорость билдов (чистых и инкрементальных), а также лёгкая расширяемость.
Всё это мы где-то уже слышали, поэтому в данной статье мы попытаемся разобраться, как разработчики пришли к этой системе, рассмотрим простейшие примеры, изучим основные конструкции и посмотрим, какая поддержка на уровне IDE присутствует на настоящий момент.
Читать полностью »
Подкаст «Заметки о Qt» s01e04
2012-05-15 в 11:01, admin, рубрики: c++, KDAB, nokia, phonon, QML, qt, qt components, qt quick, Qt Software, qt webkit, qt5, QtCreator, Raspberry Pi, подкасты, Программирование, метки: c++, KDAB, nokia, phonon, QML, Qt, qt components, qt quick, qt webkit, qt5, qtcreator, Raspberry Pi Мы с Vass записали и выложили четвертую серию подкаста «Заметки о Qt».

Сам подкаст на rpod.ru — qt-notes.rpod.ru/275603.html
Читать полностью »
Доработка плагина TODO для QtCreator 2.5.0
2012-05-13 в 13:50, admin, рубрики: c++, Qt Software, QtCreator, Программирование, метки: c++, qtcreator, ПрограммированиеБуквально на днях вышел QtCreator 2.5.0, и в нем появился плагин TODO. Но этот плагин поддерживает комментарии вида: <KEYWORD>: <some text>, а я везде использую doxygen комментарии: @<KEYWORD> <SOME_TEXT>. Поэтому я решил доработать плагин, так чтобы он мог поддерживать комментарии обоих видов. Читать полностью »
Qt Creator 2.5.0 вышел в свет!
2012-05-10 в 10:23, admin, рубрики: IDE, qt, qt creator, Qt Software, метки: IDE, Qt, qt creatorСостоялся релиз нового Qt Creator'а, находившегося до того в бете и RC.
Список изменений и нововведений:

- Быстрый повторный поиск с кнопкой «Search Again»
- Запуск shell-команд прямо из локатора
- Плагин TODO, о котором уже писал на Хабре уважаемый Vass, коему вы официальной новости выражена благодарность
- Плагин для работы с autotools
- Дополнительные возможности рефакторинга в C++: извлечь метод, добавить нехватающий
#include, переставить аргументы функции местами - Улучшена поддержка C++11 (nullptr, constexpr, static_assert, noexcept, inline namespaces, auto, lambdas)
- Новые хинты и ворнинги в редакторе QML (и возможность их отключать особыми комментариями)
- Исправлены многочисленные баги
- В версии под Windows из установочного пакеты убрали MinGW
Отечественные Qt-проекты
2012-05-06 в 8:36, admin, рубрики: qt, Qt Software, Программирование, Софт, метки: Qt, софт
Как известно, с использованием фреймворка Qt написано немало программ, причём отечественных среди них в последнее время становится всё больше. Итак, что же было написано в России с использованием этого фреймворка?
Kaspersky Internet Security 2012 – решение для обеспечения оптимального уровня безопасности. Инновационная гибридная защита мгновенно устраняет вредоносные программы, спам и другие интернет-угрозы, экономя ресурсы компьютера за счет комбинации облачных и антивирусных технологий.
В папке программы обнаружил следующие модули: qtcore, qtdeclarative, qtgui, qtnetwork, qtscript, qtsql, qtwebkit.
2ГИС – бесплатный электронный справочник организаций с картой города. 11 550 000 пользователей ПК в более чем 150 городах России и Украины регулярно используют 2ГИС в личных целях и для решения бизнес-задач.
Пруфлинк: «Оффлайновая версия 2ГИС разработана с использованием фреймворка Qt 4.8 и имеет нативный интерфейс, созданный в соответствии с Apple Human Interface Guidelines».Читать полностью »

