Я участвую в разработке проекта на C++ с использованием фреймворка Qt. В нашем проекте во многих местах используются контейнеры Qt и для обхода элементов часто применяется макрос foreach. В один прекрасный момент мне стало интересно, насколько оправдано применение этого макроса. Кроме того, очень хотелось «пощупать» c++11 в действии. И вот что мне удалось на текущий момент выяснить...Читать полностью »
Метка «Qt» - 15
Сравнение скорости работы range-based for, foreach(Qt) и кое-чего из STL при подсчете суммы элементов контейнеров
2012-05-30 в 16:57, admin, рубрики: c++, qt, с++11, метки: Qt, с++11Вебинары по QML и QtQuick: состояния и переходы
2012-05-30 в 8:24, admin, рубрики: fruct, nokia, QML, qml_training, qt, qt quick, Qt Software, QtQuick, Блог компании Nokia, метки: fruct, nokia, QML, qml_training, Qt, qt quick, QtQuickПосле небольшого перерыва мы вновь продолжаем серию вебинаров по QML и QtQuick, и на этот раз поговорим про состояния и переходы — один из важнейших моментов в построении пользовательских интерфейсов на QML.
Декларативный стиль языка QML направлен на то, чтобы избежать ошибок при построении интерфейса пользователя, которые вызываются некорректным переходом из одного состояния в другое. Для этого в QML есть встроенная поддержка для определения декларации состояний и переходов между ними, и машина состояний (state-machine), которая умеет эти переходы корректно осуществлять. Таким образом QML нам даёт формальную спецификацию интерфейса, надёжный способ организации логики приложения, гарантию покрытия всей функциональности и возможность связки переходов между состояниями с анимацией.
Внимательно посмотрев данный вебинар, вы научитесь работать с состояниями (states), условиями состояний и переходами между состояниями (transitions). Во второй половине видео вы узнаете о вероятных проблемах, связанных с использованием состояний и переходов, а также о возможных путях их решения.
QScintilla: все глубже
2012-05-30 в 7:15, admin, рубрики: linux, qscintilla, qt, Qt Software, Ubuntu, Программирование, метки: linux, qscintilla, Qt, UbuntuДобрый день!
Это опять я, со своей новой статьей. Сегодня я расскажу вам, как работать с qscintilla почти на полную мощь. А конкретнее: покажу почему полезно наследовать QsciScintilla своим классом, нежели использовать его копию и расскажу как писать какой-никакой автокомплит кода для своего редактора.
Сразу скажу, статья будет небольшая, а как работать со всем этим хламом я покажу на примере моего пока слабо развивающегося проекта Web Development IDE Galactica.
Читать полностью »
QScintilla: все глубже и глубже
2012-05-30 в 7:15, admin, рубрики: linux, qscintilla, qt, Qt Software, Ubuntu, Программирование, метки: linux, qscintilla, Qt, UbuntuДобрый день!
Чуть не забыл. Первая и вторая статья цикла.
Это опять я, со своей новой статьей. Сегодня я расскажу вам, как работать с qscintilla почти на полную мощь. А конкретнее: покажу почему полезно наследовать QsciScintilla своим классом, нежели использовать его копию и расскажу как писать какой-никакой автокомплит кода для своего редактора.
Сразу скажу, статья будет небольшая, а как работать со всем этим хламом я покажу на примере моего пока слабо развивающегося проекта Web Development IDE Galactica.
Читать полностью »
Темная сторона QScintilla
2012-05-30 в 7:06, admin, рубрики: qscintilla, qt, Qt Software, метки: qscintilla, Qt Недавно на Хабре начали появляться статьи (1, 2) про замечательный компонент QScintilla.
Я один из разработчиков проекта Monkey Studio, и, последние полтора года, mksv3. Мы пользуемся QScintilla уже 5 лет. Периодически делаем для него баг репорты и патчи. Мы решили от него отказаться. И нам мучительно больно за потраченные на него годы.
Пишу этот пост, чтобы у других не случилось так же.
Читать полностью »
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
Читать полностью »