В этой статье я хотел бы поделиться своим опытом разработки одного виджета (элемента графического интерфейса), попутно осветив некоторые технологии и техники Qt.
Очень часто бывает необходимо дать пользователю возможность вставки строк и столбцов в таблицу или удаление их из неё. Как правило это реализуется так: надо выделить строку кликнув по хидеру и выбрать пункт в меню: select > menu > insert | delete. Это не совсем очевидно и интуитивно, как и то что строка вставляется перед текущей а не, например, после неё. Поэтому я написал виджет который снимает эту проблему.
Виджет выглядит как четыре кнопки, следующие за курсором по границе таблицы (хаха, это совсем как те пчелки, которые бегали за курсором на сайтах в эпоху вэб 1.0!). Можно было бы перегрузить QTableView, но тогда придется изменять все инстансы; вместо этого я написал отдельный виджет которые представляет из себя как бы панельку которая прикрепляется к уже имеющемуся QTableView. Читать полностью »
Метка «Qt» - 11
Qt виджет для добавления и удаления строк в таблицe QTableView
2012-10-01 в 8:18, admin, рубрики: c++, GUI, mvc, opensource, qt, Qt Software, Программирование, метки: gui, mvc, opensource, QtQt SDK 4.8 статическая сборка проекта
2012-09-26 в 14:49, admin, рубрики: qt, Qt Software, qt4, линковка, сборка проекта, метки: Qt, qt4, линковка, сборка проектаВступление:
В данном уроке я расскажу в картинках как собрать приложение статически/провести статическую линковку/ отучить ваш *.exe от библиотек Qt — кажется это всё одно и тоже по своей сути
Лично я всё проделывай со свеженькой на данный момент Qt SDK с сайта Nokia( Qt 4.8 и SDK 1.2.1)
Сам я полный нуб в Windows, так как всё жизнь сижу на Linux, так что всё сопровождается картинками, для таких же нубов в винде, как я сам
Читать полностью »
Редизайн Qt Creator своими руками
2012-09-26 в 14:26, admin, рубрики: css, qt, Qt Software, метки: css, Qt
Многие из тех кто занимаются разработкой на C++/Qt знакомы с такой средой как Qt Creator, создатели которой потрудились над дизайном не меньше чем над функциональностью. Но меня, как любителя темных цветовых схем и плоского минимализма, всегда не устраивали светлый фон панелек и градиентные заголовки.
Казалось бы, открытый исходный код — бери да меняй, но неопытность и лень останавливали меня, пока я не узнал про такую вещь как Qt Style Sheets, позволяющюю описать вид виджетов в формате css.
Подкаст «Заметки о Qt» s02e01
2012-09-19 в 9:32, admin, рубрики: c++, Digia, qt, qt creator, Qt Developer Conference, Qt Software, qt5, Raspberry Pi, Visual Studio, конкурс, подкасты, Программирование, метки: c++, Digia, Qt, qt creator, Qt Developer Conference, qt5, Raspberry Pi, Visual Studio, конкурс Мы с Vass записали и выложили первую серию второго сезона подкаста «Заметки о Qt».
Сам подкаст на rpod.ru — qt-notes.rpod.ru/284337.html
Теперь с конкурсом!
Читать полностью »
Приходилось часто работать с классом QDataStream. В результате накопил некоторый опыт, как правильно его использовать.
Авторизация в приложениях
2012-09-03 в 12:14, admin, рубрики: c++, qt, Qt Software, авторизация, Песочница, метки: Qt, авторизация Добрый день всем. В этой статье я опишу свой практический опыт проектирования системы авторизации, в частности на C++ Qt 4. Для многих опытных программистов покажется все нижеизложенное банальностью, но для начинающих свой путь программистов, данный опыт думаю, будет полезен. Слов минимум, в основном вырезки кода.
Читать полностью »
Qt Coding Style
2012-08-28 в 6:04, admin, рубрики: coding style, Harmattan, MeeGo, QML, qt, qt quick, Qt Software, Программирование, Совершенный код, метки: coding style, Harmattan, MeeGo, QML, Qt, qt quick, совершенный код
Привет, читатели!
Сейчас какой-то спец с многолетним опытом работы с Qt подумал: «Что за фигня? Хабр — для вещей покруче!». Но ведь даже спецам с многолетним опытом иногда надо читать вот такие статьи про простые вещи, ведь это — важно. Код — это одна из самых важных составляющих программирования. А наша задача — держать его в чистоте. Эта статья посвящена всем Qt программистам которые стремятся к идеалу.
Конечно есть статья на Qt Project — Qt Coding Style. Только вот там материала ценного меньше,
Читать полностью »
Создаем стиль интерфейса Qt на примере таблицы
2012-08-16 в 15:55, admin, рубрики: c++, qt, Qt Software, интерфейсы, Программирование, стили, метки: c++, Qt, интерфейсы, Программирование, стилиКак известно, Qt предлагает разработчикам практически неограниченные возможности для создания интерфейсов. В большинстве случаев, если вы используйте стандартные виджеты, внешний вид вашего приложения (и элементов его интерфейса) будет соответствовать внешнему виду вашей операционной системы. Для этого в Qt есть система так называемых стилей — классов, ответственных за отрисовку стандартных элементов интерфейса. В этой статье мы попробуем создать свой стиль и применить его к простейшему приложению для того, чтобы получить красивую таблицу на основе виджета QTableWidget.
Система расширений Qt Creator
2012-08-15 в 6:10, admin, рубрики: plugin, qt, qt creator, Qt Software, метки: plugin, Qt, qt creatorПредисловие
Всем привет. Сразу признаюсь, я начал писать данный пост уже достаточно давно, но времени полностью завершить его написание всё не хватает. Поэтому, сейчас я публикую его в текущем состоянии, а описание трёх незавершённых разделов всё же отложу и постараюсь опубликовать отдельным постом.
Введение
Это заметка, в которой я хотел бы немного описать архитектуру и систему расширений среды разработки Qt Creator. Изначально, я предполагал лишь перевести документ Writing-Qt-Cretor-plugins.pdf, но так уж вышло, что развитие Qt Creator не стоит на месте и во первых, данный документ уже не столь актуален (сам устарел, API поменялось, куски кода не полные и часто не работают), а во вторых со времени его написания появлись дополнительные возможности расширения Qt Creator, которые хотелось бы описать.
Тем не менее, не будь этого документа, не было бы и данной заметки: из него я взял очень много, вплоть до структуры поста, при этом постаравшись где-то что-то выкидывая/заменяя/добавляя сделать пост актуальным для последней на текущий момент времени версии Qt Creator 2.4.0.
Кому может быть полезен данный документ? В первую очередь это конечно же Qt-программисты, которые выбрали данную IDE как основную среду разработки.
Кроме того, благодаря продуманной системе расширений Qt Creator, данный материал будет полезен тем, кто собрался создавать собственные средства разработки, но не хотят начинать писать их с чистого листа: человек может отключить все ненужные ему расширения Qt Creator и написать свои собственные, пользуясь при этом готовыми примерами в исходниках Qt Creator.
Итак, что же нас ожидает под катом (жирным отмечены готовые разделы):
- Сборка Qt Creator
- Первое расширение
- Добавление новых меню и пунктов меню
- Архитектура Qt Creator
- Добавление нового редактора (Editor)
- Добавление боковой навигационной панели
- Добавление страницы в диалог настроек
- Добавление фильтра в диалог поиска
- Добавление нового типа проекта
Напомню, что Qt Creator является кросс-платформенной свободной IDE для работы с фреймворком Qt, разработанной Trolltech (Nokia). Что не мешает сделать из него простой текстовый редактор с подсветкой синтаксиса, простым отключением всех расширений. Внимание, сотни картинок!
Читать полностью »
Использование библиотек QSerialDevice и QWT для организации коммуникации с контроллером и отображения данных
2012-08-13 в 21:14, admin, рубрики: arduino, avr, com-порт, diy или сделай сам, qt, Qt Software, QWT, Программинг микроконтроллеров, метки: arduino, avr, com-порт, Qt, QWT
В продолжение своей статьи «Простой электронный самописец» хочу поделится опытом создания терминала для сообщения с разработанным мной девайсом на основе библиотек QSerialDevice и QWT, ну и естественно QT. QSerialDevice работает с любым COM-портом (реальным или виртуальным) определенным операционной системой, поэтому не имеет значения каким способом контроллер подключен к ПК: непосредственно через адаптер UART->RS-232(MAX-232), через адаптеры UART->USB(FT-232, CP2101) или UART->Bluetooth(BTM-222), также можно, например, подключить Arduino-совместимое устройство (адаптер UART->USB уже напаян на плату). QWT же — мощное средство отображения данных. Их общий плюс — кроссплатформенность, это же QT, достаточно скомпилировать коды под нужной платформой — и все работает! Так что, кому интересно, прошу под кат!Читать полностью »