Обновить
32K+

Qt *

Кроссплатформенный инструментарий разработки ПО

0,65
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Организация автоматизированного тестирования GUI

Время на прочтение5 мин
Охват и читатели16K
При разработке мы стараемся покрывать наш код не только матом, но и unit тестами. Однако все покрыть тестами не всегда получается. К тому же, остается GUI, для которого написание тестов довольно трудоемкая работа. При всех этих проблемах неизменным остается требование, что каждый следующий камит в репозиторий не должен портить уже существующий функционал.

В этой статье я хочу рассказать какой инструментарий мы используем для тестирования наших desktop приложений, написанных на Qt.

Пол года назад в ходе исследования инструментов для тестирования GUI в поле моего зрения попал продукт Squish компании froglogic. Из плюсов данного решения можно отметить следующие:

  • тесная дружба Squish c классами Qt (в том числе и itemы в QGraphiscScene);
  • кроссплатформенность;
  • поддержка скриптовых языков (JavaScript, Python);
  • автоматизированная генерация текста теста;
  • удобная система запуска тестов из консоли.

Читать дальше

Qt 4.5 и Qt Creator 1.0 теперь с нами!

Время на прочтение1 мин
Охват и читатели2.6K
Очередная версия библиотеки Qt теперь может радовать каждого. Этот релиз принес разработчикам важный и неожиданный сюрприз: Qt распространяется на LGPL. А также есть и другие приятные подарочки от Qt Software:
  • Значительно увеличилась скорость работы графической подсистемы
  • Улучшена интеграция с WebKit
  • Также Qt был портирован на фреймворк Cocoa от Apple.

Подробный список на официальном сайте

Qt Creator


Qt Creator — это легковесная кросс-платформенная среда разработки, заточенная для разработки под C++ и Qt. Разработка Qt Creator велась с прицелом на две вещи: полностью кросс-платформенная разработка; и простота использования для тех, кто только начинает знакомиться с Qt.

Среда Qt Creator включает эффективный набор средств для создания и тестирования программ на Qt:
  • Продвинутый редактор кода на языке C++
  • Контекстная помощь
  • Визуальный отладчик
  • Управление исходным кодом
  • Средства управления проектом и сборкой

Qt Creator также распространяется под лицензией LGPL 2.1. На данный момент для разработки поддерживаются только десктопные операционные системы (Windows, Linux и Mac OS), но поддержка платформ для встраиваемых устройств возможно будет добавлена в следующие несколько месяцев.

Всех разработчиков на Qt поздравляю с этим знаменательным событием!

rWin 0.5 beta — клиент для rTorrent на Qt

Время на прочтение2 мин
Охват и читатели2.7K
Многим известен торрент клиент для Unix систем rTorrent. Его достоинством и недостатком является консольный интерфейс, но есть множество способов борьбы с ним, начиная от web интерфейсов (wTorrent), заканчивая frontend-ом написанным на Java (nTorrent). Лично сам пользуюсь web интерфейсом + screen в консоли. Все бы хорошо, НО за время использования (а это уже примерно как год) постоянно было неудобство со слежением за загрузками и регулировкой скорости закачки. Поэтому решил сделать небольшой клиент, который бы висел в трее, показывал скорость загрузки и другую полезную информацию.
Читать дальше →

Google Translator

Время на прочтение1 мин
Охват и читатели2.2K
Недавно я писал о классе, который реализовывает перевод текстов через Google Translator.
Несколько времени поразмыслив я решил пойти дальше. Зачем людям какой-то класс? Они хотят видить как все работает.
Именно поэтому я написал маленький open-source проект.
image
Читать дальше →

Google Translate Non Ajax API

Время на прочтение1 мин
Охват и читатели1.8K
Все знают сервис Google Translate. Он переводит достаточно неплохо, ну, по крайней мере, так что понять можно.
Так не было ли ни у кого желания использовать возможности переводчика Гугл в своих целях?
Читать дальше →

Работа с базами данных в Qt в многопоточном окружении

Время на прочтение9 мин
Охват и читатели21K
Все кто разрабатывают приложения на Qt, рано или поздно сталкиваются с работой с БД в многопоточном окружении. И если невнимательно читать Ассистант, то можно натолкнуться на одни очень интересные грабли.
А в чем грабли?

Локализация и числительные

Время на прочтение2 мин
Охват и читатели3.5K
На Хабре полно статей, с примерами на разных языках, о том, как правильно обрабатывать числительные и склонять при этом существительные, к ним относящиеся. Посмотрим, как эта задача
решается в Qt

Работа с базами данных в Qt

Время на прочтение6 мин
Охват и читатели224K
Qt дает возможность создания платформо-независимых приложений для работы с базами данных, используя стандартные СУБД. Qt включает «родные» драйвера для Oracle, Microsoft SQL Server, Sybase Adaptive Server, IBM DB2, PostgreSQL, MySQL и ODBC-совместимых баз данных. Qt включает специфичные для баз данных виджеты, а также поддерживает расширение для работы с базами данных любых встроенных или отдельно написанных виджетов.
Читать дальше →

Qt — трудности перевода

Время на прочтение6 мин
Охват и читатели67K
Вы написали программу на Qt и хотите перевести ее на другие языки, что бы сделать ее полезной для людей в других странах. Сделать это не просто, а очень просто. Для этого нам потребуется сделать всего три простых шага.
Читать дальше →

Сигналы и слоты в Qt

Время на прочтение10 мин
Охват и читатели294K
Сигналы и слоты используются для коммуникации между объектами. Механизм сигналов и слотов главная особенность Qt и вероятно та часть, которая отличаетcя от особенностей, предоставляемых другими фреймворками.
Читать дальше →

«Hello, World!» на Qt

Время на прочтение6 мин
Охват и читатели97K
Qt — это кросс-платформенный инструментарий разработки ПО на языке программирования C++. Есть также «привязки» ко многим другим языкам программирования: Python — PyQt, Ruby — QtRuby, Java — Qt Jambi, PHP — PHP-Qt и другие.
Позволяет запускать написанное с его помощью ПО в большинстве современных операционных систем путём простой компиляции программы для каждой ОС без изменения исходного кода. Включает в себя все основные классы, которые могут потребоваться при разработке прикладного программного обеспечения, начиная от элементов графического интерфейса и заканчивая классами для работы с сетью, базами данных и XML. Qt является полностью объектно-ориентированным, легко расширяемым и поддерживающим технику компонентного программирования.
В этой статье я покажу как написать простую программу «Hello, World!» с использованием библиотеки Qt4
Итак, приступим

Ribbon? Это просто! или Работаем с каскадными таблицами стилей (CSS) в Qt

Время на прочтение6 мин
Охват и читатели25K
Некоторое время назад в одном из обсуждений я упомянул о том, что контрол «a-la ribbon» (который был использован в MS Office 2007 для организации меню) легко и непринуждённо реализуется средствами Qt.

Я не хочу спорить о том, удобен ribbon или нет (сам я больше склоняюсь ко второму мнению). Но на его примере можно отлично раскрыть возможности каскадных таблиц стилей для Qt (которые были представлены в Qt 4.2), чем я и займусь. Сразу прошу прощения: я не дизайнер, поэтому с точки зрения эстетики мой QRibbon скорее всего не дотянет до своего собрата от МС, но дизайнеры в МС, полагаю, в своей области превосходят меня на 2 головы, да и человеко-часов, думаю, там было затрачено в слегка побольше. Я же всего лишь демонстрирую общий принцип и базовые возможности.

Так как я сейчас изучаю язык Python, то для демонстрации был выбран именно он, но для C++ всё делается абсолютно так же. Заранее прошу прощения: Python я только-только изучаю, поэтому код может быть полон корявостей, так что прошу больно не пинать :)

Итак, начнём!
Читать дальше →

Компиляция QT-программы под Windows — зависимости

Время на прочтение1 мин
Охват и читатели28K
Ради интереса решил пощупать Qt.

Соответственно, скачал Qt Creator, создал проектик, поигрался с экшнами и прочим. И захотелось проектик этот собрать в .exe-файл.

Дебаг в рамках Creator выполнялся идеально, а вот после Build — .exe выдал мне требование зависимости mingwm10.dll.

Полез в Google, и после некоторого времени поиска сообразил скопировать

C:\QT\QTCreator\bin\mingwm10.dll, а так же
C:\QT\QTCreator\qt\bin\QtCore4.dll
C:\QT\QTCreator\qt\bin\QtGui4.dll

в папку с билдом. Только после этого и заработало.

Но остаётся проблема последующего распространения программы. Неужели для того, чтобы передать другому человеку своё творение размером в 100 килобайт, надо делать инсталлер, чтобы закидывать вышеуказанные файлы в System32?

Уважаемые знатоки, просвятите меня — разве никак нельзя собрать проект вместе с зависимостями?
Может, как-то можно уменьшить объём 13-ти мегабайт библиотек для работы 100 килобайтной программы?

UPD: Знатоки пишут, что библиотеки обязательны.

Выбор невелик тогда — или паковать NSISом (получилось 4.5 мегабайта на пустой проект), или же делать сетевой инсталлер с вспомогательной программкой, которая будет тянуть зависимости, или же делать solid — как есть.

Даже если собирать библиотеки static — то получится просто раздутый .exe-файл

Ближайшие события

Qt Creator — Beta выпуск

Время на прочтение1 мин
Охват и читатели1.3K
18 декабря Qt Software выпустил Beta версию Qt Creator. Qt Creator — это новая кросс-платформенная среда разработки для создания приложений на основе библиотек Qt. Исходные коды IDE доступны по лицензии GPL через публичный репозиторий.

Beta релиз — это несущественный выпуск для многих, кто уже использует первый предварительный релиз. Он лишь поможет отловить все существующие ошибки, благодаря обычным пользователям, которые выступят в роли тестировщиков. Для более детальной информации, видео с использованием IDE и для загрузки, посетите вот эту страницу.

Финальный релиз ожидается в начале 2009 года.

От себя: немного пощупал Beta версию и не нашёл ни одного отличия от предыдущей версии. Тем не менее хотел бы призвать как можно больше народу к тестированию сей среды разработки. Судя по всему, она вскоре сможет стать серьёзным кандидатом на использование, если Вы — программист, использующий Qt + C++.

Обзор Qt программ

Время на прочтение3 мин
Охват и читатели33K
В этой статье некоторые люди усомнились, что на Qt можно написать что-то стоящее и популярное. Я бы хотел с этим поспорить. Поэтому была написана эта тема, в которой вы можете увидеть небольшой перечень популярных программ и обзор ещё не так популярных, но интересных проектов, написанных на Qt4.
Читать дальше →

История Qt Software

Время на прочтение5 мин
Охват и читатели13K
Думаю, что многим хорошо известна эта компания, но не все знают с чего всё начиналось. Я бы хотел выложить сюда небольшой кусочек истории этой, достойной уважения, компании. Кстати, случай с Qt в очередной раз подтверждает суждение, что всё начинается с малого, надо только быть уверенным в успехе и, конечно, что-нибудь делать хорошо :)
image

История Qt Software

Программирование на PyQt4. Часть 2

Время на прочтение7 мин
Охват и читатели12K
Благодаря хорошим людям автор этого цикла статей получил инвайт и все последующие статьи будут опубликоваться им, поэтому не присваивайте эту работу мне. Я просто его друг. ;)
image
Читать 2-ую часть

Программирование на PyQt4. Часть 1

Время на прочтение9 мин
Охват и читатели19K
Данный цикл статей является работой одного очень креативного и умного человека с ником Liksys. Благодаря хорошим людям он получил инвайт и продолжение этого цикла статей будет безусловно! ;)

image

Часть №1


       Когда люди говорят о Qt, многим из нас сразу вспоминается KDE с его обилием настроек. Программисты следом представляют исходники, написанные на C++ с весьма изящным подходом к решению проблемы. И это вполне оправданно: KDE — это, пожалуй, самый известный Qt-проект, а сама Qt написана на C++ и предназначена в первую очередь именно для него. За долгое время существования этого инструментария он стал своеобразным стандартом в Linux для написания графических приложений наряду с GTK, wxWidgets и т.д. Мощь языка C++ дала возможность создать много отличных программ, а стиль Qt является образцом для подражания многих программистов.
А о чём тогда разговор?

Что это за новый блог такой?

Время на прочтение1 мин
Охват и читатели1.6K
Спешу вас обрадовать, что Хабрахабр расширился новым блогом с названием «Qt Software».

image

Я не буду рассказывать что такое Qt и для чего оно надо, ведь уже всё написано здесь. Поэтому я сразу начну с того, каким бы я хотел видеть этот блог и что буду делать лично я для него.
Читать дальше →

Qt4: Интересные и приятные виджеты. Часть 1

Время на прочтение3 мин
Охват и читатели7.6K
Qt4 — один из самых популярных GUI инструментариев, на котором можно создавать всё что душе угодно. В каждой программе, в которой используется в качестве графического интерфейса средства Qt4, имеется набор пользовательских виджетов. Пользовательские — означает, что программист модифицирует стандартный класс Qt4, создавая при этом чаще всего уникальный виджет. Правила хорошего программирования заставляют разработчиков создавать виджеты независимые от ситуации, где они используются. Поэтому можно использовать один раз написанный класс в нескольких программах.

image

Предлагаю Вашему вниманию некоторые написанные мной и другими членами организации Vialinx виджеты, которые я использовал в программах.

Виджеты с описаниями и скриншотами
12 ...
35