Жасмин Бланшет - QT 4: программирование GUI на С++ стр 3.

Шрифт
Фон

Краткая история Qt

Средства разработки Qt впервые стали известны общественности в мае 1995 года. Первоначально Qt разрабатывались Хаарвардом Нордом (исполнительным директором компании "Trolltech") и Айриком Чеймб-Ингом (президентом "Trolltech"). Хаарвард и Айрик познакомились в Норвежском институте технологии, г. Тронхейм, который они окончили, получив степень магистра по теории вычислительных систем и машин.

Хаарвард стал проявлять интерес к разработке графического пользовательского интерфейса на С++, когда он был привлечен шведской компанией к разработке инструментального средства, предназначенного для разработки графического интерфейса на С++. Спустя два года (летом 1990 г.) Хаарвард и Айрик работали вместе над разработкой на С++ приложения для баз данных ультразвуковых изображений. Эта система должна была предоставлять графический пользовательский интерфейс в системах Unix, Macintosh и Windows. Однажды этим летом Хаарвард и Айрик вышли на улицу, чтобы понежиться на солнышке, и когда они присели на скамейку в парке, Хаарвард сказал: "Нам нужна объектно-ориентированная система отображения". Последующая дискуссия стала интеллектуальной основой объектно-ориентированной межплатформенной системы разработки графического пользовательского интерфейса, к созданию которой они вскоре приступили.

В 1991 году Хаарвард начал писать классы, которые фактически образовали Qt, причем проектные решения принимались совместно с Айриком. В следующем году Айрику пришла идея "сигналов и слотов" - простой, но мощной парадигмы программирования графического пользовательского интерфейса, которая в настоящее время заимствована некоторыми другими инструментальными средствами. Хаарвард воспринял эту идею и вручную реализовал ее. К 1993 году Хаарвард и Айрик разработали первое графического ядро Qt и могли создавать свои собственные виджеты. В конце этого года Хаарвард предложил совместно заняться бизнесом и построить "самые лучшие в мире инструментальные средства разработки на С++ графического пользовательского интерфейса".

Начало 1994 года не предвещало ничего хорошего, когда два молодых программиста собирались выйти на установившийся рынок, не имея ни заказчиков, ни законченного программного продукта, ни денег. К счастью, жены обоих имели работу и могли поддержать своих мужей в течение двух лет, которых, как считали Айрик и Хаарвард, будет достаточно для разработки программного продукта, позволяющего начать зарабатывать деньги.

Буква "Q" была выбрана в качестве префикса классов, поскольку эта буква имела красивое начертание в шрифте редактора Emacs, которым пользовался Хаарвард. Была добавлена буква "t", означающая "toolkit" (инструментарий), что похоже на "Xt", то есть X Toolkit. Компания была зарегистрирована 4 марта 1994 года и первоначально называлась "Quasar Technologies", затем "Troll Tech", и теперь она называется "Trolltech".

В апреле 1995 года через посредничество одного университетского профессора, знакомого Хаарварда, норвежская компания "Metis" заключила с ними контракт на разработку программного обеспечения на основе Qt. Примерно в это же время "Trolltech" приняла на работу Арнта Гулдбрансена (Arnt Guldbransen), который в течение своих шести лет работы в этой компании продумал и реализовал оригинальную систему документирования, а также внес определенный вклад в программный код Qt.

20 мая 1995 года Qt 0.90 был установлен на сайте sunsite.unc.edu. Спустя шесть дней о выпуске этой версии было объявлено на comp.os.linux.announce. Это была первая публичная версия Qt. Qt можно было использовать в разработках как Windows, так и Unix, причем программный интерфейс был одинаковый на обеих платформах. С первого дня предусматривались две лицензии применения Qt: коммерческая лицензия предназначалась для коммерческих разработок, и свободно распространяемая версия предназначалась для разработок с открытым исходным кодом. Контракт с "Metis" сохранил компанию "Trolltech" на плаву, хотя в течение долгих десяти месяцев не было продано ни одной коммерческой лицензии Qt.

В марте 1996 года Европейское управление космических исследований (European Space Agency) стало вторым заказчиком Qt, которое приобрело десять коммерческих лицензий. Верящие в удачу Айрик и Хаарвард приняли на работу еще одного разработчика. Qt 0.97 был выпущен в конце мая, и 24 сентября 1996 года вышла версия Qt 1.0. К концу этого года вышла версия Qt 1.1; восемь заказчиков - все из разных стран - приобрели в общей сложности 18 лицензий. В этом году был также основан Маттиасом Эттричем проект KDE.

Версия Qt 1.2 была выпущена в апреле 1997 года. Принятое Маттиасом Эттричем решение по применению Qt для построения KDE помогло Qt стать фактическим стандартом по разработке на С++ графического пользовательского интерфейса в системе Linux. Qt 1.3 была выпущена в сентябре 1997 года.

Маттиас присоединился к "Trolltech" в 1998 году, и последняя значимая версия Qt первого выпуска, 1.40, появилась в сентябре того же года. Qt 2.0 была выпущена в июне 1999 года. Qt 2 имела новую лицензию для открытого исходного кода - Q Public License (QPL), которая соответствовала Определению открытого исходного кода (Open Source Definition). В августе 1999 года Qt выиграла премию журнала "Linux World" за лучшую библиотеку или инструментальное средство. Примерно в это же время была образована компания "Trolltech Pty Ltd" (Австралия).

Компания "Trolltech" выпустила Qtopia Core (получившую затем название Qt/Embedded) в 2000 году. Она спроектирована для работы на устройствах с системой Embedded Linux и обеспечивает свою собственную оконную систему в качестве упрощенной замены X11. Как Qt/X11, так и Qtopia Соrе предлагаются теперь по широко распространенной общедоступной лицензии GNU - General Public License (GPL), a также на условиях коммерческих лицензий. К концу 2000 "Trolltech" учредила компанию "Trolltech Inc." (США) и выпустила первую версию Qtopia - платформу для разработки приложений для мобильных телефонов и карманных компьютеров. Qtopia Соrе был удостоен премии журнала "Linux World" в категории "Лучшее решение для системы Embedded Linux" в 2001 и 2002 годах, a Qtopia Phone получила ту же премию в 2004 году.

Qt 3.0 была выпущена в 2001 году. Qt теперь работала в системах Windows, Mac OS X, Unix и Linux (для настольных и встроенных систем). Qt 3 содержала 42 новых класса, и объем ее программного кода превышал 500 000 строк. Qt 3 представляла собой важный шаг вперед по сравнению с Qt 2, которая, в частности, значительно улучшила поддержку локализации и кодировки Unicode, ввела совершенно новые виджеты по просмотру и редактированию текста и класс регулярных выражений, аналогичных применяемым языкам Perl. Qt 3 была удостоена премии "Software Development Times" в категории "Высокая продуктивность" в 2002 году.

Летом 2005 года была выпушена Qt 4.0. Имея около 500 классов и более 9000 функций, Qt 4 оказалась больше и богаче любой предыдущей версии; она была разбита на несколько библиотек, чтобы разработчики могли использовать только нужные им части Qt. Версия Qt 4 представляет собой большой шаг вперед по сравнению с предыдущими версиями; она содержит полностью новый набор эффективных и простых в применении классов-контейнеров, усовершенствованную функциональность архитектуры модель/представление, быстрый и гибкий фреймворк графики 2D и мощные классы для просмотра и редактирования текста в кодировке Unicode, не говоря уже о тысячах небольших улучшений по всему спектру классов Qt. Qt 4 является первой версией Qt, доступной на всех поддерживаемых платформах как для коммерческой разработки, так и для разработки с открытым исходным кодом.

Кроме того, в 2005 году компания "Trolltech" открыла свое представительство в Пекине для предоставления пользователям в Китае и во всем этом регионе услуг по продаже, обучению и технической поддержке компонента Qtopia.

Со дня образования компании "Trolltech" популярность Qt постоянно росла, и она продолжает расти в наши дни. Этот успех является отражением как качества Qt, так и того удовольствия, которое разработчик получает при ее использовании. За последнюю декаду Qt превратилась из "секретного" программного продукта, известного только избранной группе профессионалов, в продукт, которым пользуются по всему миру тысячи коммерческих заказчиков и десятки тысяч разработчиков приложений с открытым исходным кодом.

Часть I. Основные возможности средств разработки Qt

Глава 1. Первое знакомство

Жасмин Бланшет, Марк Саммерфилд - QT 4: программирование GUI на С++

В данной главе показано на примере создания простого приложения с графическим интерфейсом пользователя (GUI - graphical user interface), как можно обычные средства С++ совместить с функциональными возможностями Qt. Здесь также рассматриваются две ключевые идеи Qt: сигналы и слоты (signals and slots) и компоновка графических элементов (layout). В главе 2 мы рассмотрим более подробно возможности Qt, а в главе 3 мы начнем разрабатывать более реалистичное приложение.

Если вы уже знакомы c Java или C#, но имеете лишь ограниченный опыт работы с С++, возможно, вы захотите начать с Приложения Б, в котором дается введение в С++.

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке