Що таке Qt

Qt (розробники пропонують вимовляти назву, як «к'ют») — вільний багатоплатформовий каркас для розробки програмного забезпечення, який переважно використовується для розробки програм з графічним інтерфейсом користувача (у даному контексті, він більше відомий, як набір графічних віджетів), а також консольних і серверних додатків. Найвідомішими проектами, які використовують Qt є стільничне середовище KDE, Google Earth, Skype, Qt Extended, Adobe Photoshop Album, VirtualBox та OPIE. На даний момент, розробкою Qt займається компанія Nokia, яка минулого року придбала його виробника, норвезьку компанію Trolltech.

Qt використовує C++ з кількома нестандартними розширеннями, які реалізовуються за допомогою додаткового препроцесора, котрий генерує стандартний код на C++ перед компіляцією. Qt також може використовуватись і в інших мовах програмування через спеціальні розроблені прив'язки. Qt працює на усіх основних програмних і апаратних платформах, а також має чудову підтримку інтернаціоналізації. До функцій не пов'язаних з ГКІ, входять, зокрема, АРІ до доступу до баз даних SQL, парсингу XML, управління потоками, роботи з мережами, а також уніфіковані багатоплатформові функції для роботи з файлами.

Розповсюджується на умовах ліцензії GNU Lesser General Public License, і є вільним програмним забезпеченням.

Варіанти
Qt розповсюджується у наступних варіантах, кожен з яких призначено для конкретної платформи:
• Qt для Linux/X11 – Qt для X Window System (Unix / Linux)
• Qt для Mac OS X – Qt для Apple Mac OS X
• Qt для Windows – Qt для Microsoft Windows
• Qt для Embedded Linux – Qt для вбудованих платформ (PDA, Smartphone, тощо.)
• Qt для Windows CE – Qt для Windows CE

Прив'язки
Qt має велику кількість прив'язок для різноманітних мов програмування, які реалізовують усю, або ж принаймні, більшість його функціональності:
• PyQt – GPL/Комерційна прив'язка для мови Python. Існує конкурент, PythonQt (розповсюджується під ліцензією LGPL).
• Qyoto – прив'язка для C# або ж будь якої іншої мови .NET.
• QtRuby – прив'язка для Ruby.
• Qt Jambi – повноцінна прив'язка для Java.
• QtAda – прив'язка для Ada.
• FreePascal QT4 – прив'язка для Pascal.
• Perl Qt4 – прив'язка для Perl.
• PHP-Qt – прив'язка для PHP.
• Qt Haskell – прив'язка для Haskell.
• lqt — прив'язка для Lua.
• DaoQt — прив'язка для Dao.
• qtcl — прив'язка для tcl.
• CommonQt — прив'язка для Common Lisp.
• QtD — прив'язка для D.

«Hello, world!» на Qt

#include <QtGui/QApplication>
#include <QtGui/QLabel>


int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QLabel label("Hello, world!");
    label.show();

    return app.exec();
}


Для того, щоб зкомпілювати і запустити вищенаведений приклад:
1. Створіть теку hello
2. Створіть у ній файл hello.cpp з вищенаведеним вмістом
3. у теці Hello виконайте:
# qmake -project
# qmake 
# make

4. Запустіть ./hello
  • +6
  • 14 серпня 2009, 02:31
  • sashko

Коментарі (4)

RSS згорнути / розгорнути
+
+1
хороший і змістовний опис! дякую!
avatar

lemon

  • 14 серпня 2009, 16:22
+
0
Також скоро виходить Qt для Symbian (S60)
avatar

nixau

  • 14 серпня 2009, 18:50
+
0
коли саме? плюс він буде триматись на всіх версіях s60 чи на деяких?
avatar

zenyk

  • 17 серпня 2009, 10:49
+
0
хоть хтось PHP-QT збирав?
avatar

slik

  • 17 серпня 2009, 08:27

Тільки зареєстровані й авторизовані користувачі можуть залишати коментарі.