LIMSpec Wiki

Qt
Qt 4.4.3
Qt Designer 4.4.3
UtvecklareDigia, Qt Project
Senaste utgåva6.7[1]
(2 april 2024)
OperativsystemWindows, Mac, Unix
TypToolkit
LicensGPL, LGPL, QPL, proprietär
WebbplatsQt Project

Qt (uttalas [kjuːt]) är ett applikationsramverk för Windows, Mac OS och Unix för utveckling av framförallt grafiska program med C++. Qt utvecklades av företaget Trolltech, fram till uppköpet av Nokia år 2008, då de bytte namn till Qt Software. Sedan 2012 ägs ramverket av Digia. Qt finns i en kommersiell version och en fri programvara-version. Programvara utvecklad med hjälp av den fria utgåvan får distribueras under licenserna GPL, LGPL (sedan Qt 4.5), eller QPL.

Historia

Qt skapades 1991 av Haavard Nord och Eirik Chambe-Eng. Q:et i namnet kommer från att Q:et i Haavards Emacsfont såg vackert ut enligt honom själv och t:et från att de blev inspirerade av toolkitet Xt. 1998 skapades den fria skrivbordsmiljön KDE som använde sig av Qt. En stor kontrovers uppstod inom fri programvaru- och öppen källkods-världen eftersom Qt som då inte var fri programvara, vilket ledde GNU-projektet till att påbörja utvecklingen av GNOME och Harmony. GNOME är en GNU GPL-licensierad skrivbordsmiljö som använder sig av GTK+. Harmony är en fri klon av Qt, som numera är nedlagd. När Qt 2 släpptes fick det en ny licens, QPL, erkänd som en fri licens av både Free Software Foundation och Open Source Initiative, dock ej GNU GPL-kompatibel.

I början fanns bara Qt för Unix och Windows, men Windows-versionen släpptes under en proprietär licens. När Qt 3 släpptes stöddes även Mac OS. I och med version 3.2 kom också en GNU GPL-licensierad version av Qt. En fri version för Windows kom först med Qt 4. Trolltech blev uppköpta av Nokia år 2008, och bytte då också namn till Qt Software. Qt 4.5 släpptes senare, då också med stöd för GNU LGPL-licensen för programvara som utvecklats med hjälp av den fria utgåvan. Qt Creator var en annan nyhet, som en ny utvecklingsmiljö för Qt, komplett med avlusare och grafiska designers.

Hösten 2012 såldes Qt till Digia och i slutet av samma år introducerades Qt 5.

Hello world i Qt

#include <QApplication>
#include <QLabel>
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QLabel *label = new QLabel(" <span style=\"color: green;\"><h1>Hello World!</h1></span> ", 0);
    label->show();
    return app.exec();
}

Notera att den HTML-liknande syntaxen är valfri och i detta fall resulterar i en grön text med rubrikstorlek.

Qt-Build-systemet i detalj.

Versioner

Qt finns för dessa plattformar:

  • Qt for Linux/X11 – Qt för Unix-system
  • Qt for Windows – Qt för Windows-system
  • Qt for Mac OS X – Qt för Mac OS-system
  • Qt for Embedded Linux – Qt för handdatorer
  • Qt for Windows CE - Qt för Windows CE
  • Qt for Symbian - Qt för Symbian
  • Qt for Maemo - Qt för Maemo

Qt finns i dessa varianter:

  • Full Framework – den kompletta kommersiella varianten
  • GUI Framework - kommersiell, förenklad, variant för utveckling av grafiska användargränssnitt, med viss bortskalad funktionalitet, som datornätverk och databaser. Känd som "Desktop Light" före Qt 4.5.
  • Open Source – utgåvan för utveckling av öppen källkod

Alla varianter är kommersiella utom Open Source Edition. I Unix-system kan man licensiera program med den fria varianten under vilken fri/öppen licens som helst, men i Windows och Mac måste man använda antingen GNU GPL eller GNU LGPL.

Program som ingår i Qt

  • moc - Preprocessor på klassdefinitionsfiler för att utöka C++-språket för hantering av Qt:s händelsesystem med "signaler" och "slots".
  • qmake – Program för att kompilera Qt-program
  • Qt Creator – Den officiella utvecklingsmiljön för Qt. Innehåller bl.a. Qt Designer och en avlusare.
  • uic - Program som omvandlar UI-XML kod till C++kod
  • Qt Linguist – Program för att översätta Qt-program
  • Qt Assistant – Qt-manual
  • ActiveQt - ett bibliotek med syftet att motsvara Microsoft komponent ActiveX. Med hjälp av ActiveQt kan man skapa program som motsvarar ActiveX, när man programmerar i programmeringsspråket Qt.

Kuriosa

Låten Qt 4 Dance komponerades för att fira lanseringen av Qt 4.[2]

Källor

Den här artikeln är helt eller delvis baserad på material från engelskspråkiga Wikipedia, tidigare version.

Externa länkar