Qt

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do wyszukiwania

Qt – zestaw przenośnych bibliotek i narzędzi programistycznych dedykowanych dla języków C++, QML i Java. Ich podstawowym składnikiem są klasy służące do budowy graficznego interfejsu programów komputerowych, począwszy od wersji 4.0 Qt zawiera też narzędzia do tworzenia programów konsolowych i serwerów.

Graficzny interfejs użytkownika, środowisko graficzne (ang. Graphical User Interface, GUI) – ogólne określenie sposobu prezentacji informacji przez komputer oraz interakcji z użytkownikiem, polegające na rysowaniu i obsługiwaniu widżetów.Wątek (ang. thread) – część programu wykonywana współbieżnie w obrębie jednego procesu; w jednym procesie może istnieć wiele wątków.

Qt jest obecnie rozwijane przez organizację Qt Project, do której oprócz niezależnych twórców Open Source należą m.in. firmy Digia, KDAB, ICS. Digia jest właścicielem praw do komercyjnej wersji Qt oraz do znaków towarowych, po zakupie od firmy Nokia (będącej właścicielem pomiędzy styczniem 2008 a sierpniem 2012).

HTTPS (ang. Hypertext Transfer Protocol Secure) – szyfrowana wersja protokołu HTTP. W przeciwieństwie do komunikacji niezaszyfrowanego tekstu w HTTP klient-serwer, szyfruje go za pomocą protokołu SSL. Zapobiega to przechwytywaniu i zmienianiu przesyłanych danych.Emacs – rodzina edytorów tekstu, znana ze swojej rozszerzalności. Podręcznik najpopularniejszego wariantu GNU Emacs opisuje go jako „rozszerzalny, dostosowywalny, samodokumentujący się, edytor wyświetlany w czasie rzeczywistym”. Rozwój pierwszych Emacsów rozpoczął się w połowie lat siedemdziesiątych, a prace nad GNU Emacsem, kontynuowane są aktywnie do chwili obecnej (2020).

Charakterystyka środowiska Qt[ | edytuj kod]

Środowisko Qt jest dostępne dla platform: X11 (m.in. GNU/Linux, BSD, Solaris), Windows, Mac OS X, Haiku oraz dla urządzeń wbudowanych opartych na Linuksie (Qt Extended), Windows CE, Symbian, Android. Qt jest podstawą dla m.in. uniksowego środowiska graficznego KDE oraz uniksowych wersji komunikatora internetowego Skype i programu Google Earth.

Symbian - nazwa systemu operacyjnego open source, dołączonych do niego bibliotek, rozwiązań interfejsu użytkownika oraz specyfikacji dla programów narzędziowych wyprodukowanych przez konsorcjum Symbian, w skład którego wchodzą najwięksi producenci telefonów komórkowych (Nokia, Motorola, Siemens, Sony Ericsson). Symbian został stworzony w oparciu o system EPOC, wykorzystywany w PDA firmy Psion PLC.C# (C Sharp, dosłownie "C-krzyżyk", "cis") – obiektowy język programowania zaprojektowany przez zespół pod kierunkiem Andersa Hejlsberga dla firmy Microsoft.

Biblioteki Qt dostępne są w języku C++ i Java; mogą też być wykorzystywane w programach napisanych w innych językach, m.in. Ada (QtAda), C# (Qyoto/Kimono, QtSharp), Pascal, Perl (Perl Qt4), PHP (PHP-Qt), Ruby (QtRuby) i Python (PyQt). Charakteryzują się w pełni obiektową architekturą. Zawierają wiele technologii programowania graficznego interfejsu użytkownika, istniejących wcześniej jedynie w Tk: mechanizm sygnałów i slotów, automatyczne rozmieszczanie widżetów oraz zhierarchizowany system obsługi zdarzeń.

PHP – obiektowy język programowania zaprojektowany do generowania stron internetowych i budowania aplikacji webowych w czasie rzeczywistym.XML (ang. Extensible Markup Language, w wolnym tłumaczeniu Rozszerzalny Język Znaczników) – uniwersalny język formalny przeznaczony do reprezentowania różnych danych w strukturalizowany sposób.

Biblioteki Qt, oprócz obsługi interfejsu użytkownika, zawierają także niezależne od platformy systemowej moduły obsługi procesów, plików, sieci, grafiki trójwymiarowej (OpenGL), baz danych (SQL), języka XML, lokalizacji, wielowątkowości, zaawansowanej obsługi napisów oraz wtyczek. Zawierają także własne, niezależne od biblioteki STL szablony klas pojemników.

Tk – wolny, wielosystemowy zestaw narzędzi zawierający bibliotekę podstawowych widżetów służący do budowania graficznych interfejsów użytkownika (GUI). Grupa Samsung (kor. Samseong – trzy gwiazdy) – jedna z największych południowokoreańskich grup biznesowych (czeboli) zrzeszających firmy produkcyjne i usługowe działające w wielu branżach, oraz instytucje finansowe. Założona w 1938 roku przez Lee Byung-Chula jako firma eksportowa, wkrótce rozszerzyła swą działalność także na inne dziedziny.

W skład Qt wchodzi wiele specjalistycznych narzędzi programistycznych. Są to m.in.:

  • moc (Meta Object Compiler) – specjalny preprocesor, który na podstawie plików nagłówkowych (*.h) generuje dodatkowe pliki źródłowe (*.cpp)
  • uic (User Interface Compiler) – kompilator plików *.ui zwykle generowanych za pośrednictwem programu Qt Designer
  • qmake – program do zarządzania procesem kompilacji; jego głównym zadaniem jest utworzenie, a później aktualizacja pliku Makefile na podstawie prostego opisu zawartego w definicji projektu (*.pro)
  • Qt Designer – aplikacja graficzna do definiowania graficznego interfejsu użytkownika (okien dialogowych itp.)
  • Qt Linguist – aplikacja wspomagająca tłumaczenie programu na różne języki
  • Qt Assistant – aplikacja zawierająca rozbudowany system pomocy dla programistów
  • Qt Creatorzintegrowane środowisko programistyczne
  • Historia[ | edytuj kod]

    Pomysłodawcami i pierwszymi twórcami Qt byli Haavard Nord i Eirik Chambe-Eng. Projektowanie pierwszych klas biblioteki rozpoczęto w 1991 r. Rok później Chambe-Eng opracował koncepcję mechanizmu sygnałów i gniazd, który wkrótce stał się fundamentem biblioteki.

    Valve Corporation – amerykański producent gier komputerowych. Valve jest znane ze swego pierwszego produktu – Half-Life – który został wydany w listopadzie 1998, jego sequela, Half-Life 2 (2004), oraz platformy Steam uruchomionej w 2003 roku.XQuery (ang. XML Query Language, w tłumaczeniu Język Zapytań XML, Język Zapytań Rozszerzalnego Języka Znaczników) – język zapytań (jednakże posiadający pewne cechy języka programowania) służący do przeszukiwania dokumentów XML. Język XPath od wersji 2.0 uznawany jest za pewien podzbiór XQuery. Typ MIME języka XQuery to application/xquery.

    4 marca 1994 r. Nord i Chambe-Eng założyli firmę Quasar Technologies. W późniejszych latach zmieniała ona nazwy kolejno na Troll Tech, Trolltech, Qt Software i Qt Development Frameworks. Inspiracją dla nazwy Qt była nazwa biblioteki Xt (X Toolkit), w której literę X zastąpiono literą Q (zdaniem twórców Qt, litera Q wyglądała najładniej jako przedrostek nazw klas w edytorze Emacs).

    BSD (ang. Berkeley Software Distribution, czasami nazywany Berkeley Unix) – odmiana systemu operacyjnego Unix wywodząca się ze stworzonych na Uniwersytecie Kalifornijskim Berkeley rozszerzeń dla systemu rozwijanego przez firmę AT&T. Także potoczna nazwa licencji BSD, na której te systemy są wydawane oraz pokrewnych licencji tego typu (np. licencja MIT).Microsoft Windows (ang. windows „okna”, IPA: [maɪkɹoʊsɑːft ˈwɪndoʊz]) – rodzina systemów operacyjnych stworzonych przez firmę Microsoft. Systemy rodziny Windows działają na serwerach, systemach wbudowanych oraz na komputerach osobistych, z którymi są najczęściej kojarzone.

    W 1995 firma otrzymała pierwszy kontrakt i zatrudniła pierwszego programistę. 20 maja 1995 na serwerze sunsite.unc.edu pojawiło się pierwsze oficjalne wydanie Qt – Qt 0.90. Mogło być ono używane do tworzenia aplikacji dla systemów Unix i Windows na dwóch licencjach: komercyjnej (Windows, Linux) i wolnej (Linux). Do końca 1996 sprzedano łącznie 18 licencji dla 8 różnych firm.

    Nokia – fińskie przedsiębiorstwo elektroniczne zajmujące się obecnie produkcją urządzeń dla telekomunikacji, powszechnie znane z produkcji telefonów komórkowych.Crytek GmbH (dawniej Crytek Studios GmbH & Co KG) – niemiecki producent gier komputerowych założony przez tureckich braci Cevata, Avniego oraz Faruka Yerlich w 1999 roku w Coburg. Obecnie firma znajduje się we Frankfurcie nad Menem. Firma jest złożona z młodych programistów z różnych państw, posiada sześć oddziałów w: Frankfurcie nad Menem (siedziba korporacji), Budapeszcie, Sofii, Kijowie, Seulu, Nottingham.

    W 1997 twórcy KDE postanowili oprzeć swój produkt na bibliotece Qt. Dzięki temu szybko osiągnęła ona status jednej z najpopularniejszych bibliotek dla aplikacji okienkowych w C++ dla systemu Linux. Sukces ten stał się jednocześnie przyczyną obaw wielu zwolenników wolnego oprogramowania przed konsekwencjami rozpowszechnienia w środowisku systemu Linux programów opartych na własnościowej bibliotece nie podlegającej licencji GPL. Doprowadziło to do zainicjowania dwóch projektów alternatywnych dla Qt: Harmony i GNOME. Celem pierwszego z nich było stworzenie ekwiwalentu Qt podlegającego licencji GPL, celem drugiego – stworzenie realnej alternatywy dla KDE opartej wyłącznie na wolnym oprogramowaniu. Projekt Harmony został wstrzymany w 2000 r. wraz z udostępnieniem na licencji GPL środowiska Qt dla systemu Linux.

    Tesla, Inc. – amerykański producent elektrycznych samochodów osobowych, SUV-ów, pickupów, samochodów sportowych oraz ciągników siodłowych z siedzibą w Palo Alto działający od 2003 roku. make – program powłoki systemowej automatyzujący proces kompilacji programów, na które składa się wiele zależnych od siebie plików.

    W 2000 Trolltech opublikował wersję Qt dla urządzeń wbudowanych – Qt/Embedded (przemianowaną później na Qtopia Core i Qt Extended).

    W 2001, wraz z opublikowaniem Qt 3.0, rozszerzono zakres platform systemowych obsługiwanych przez Qt o Mac OS X.

    W 2005, wraz z opublikowaniem Qt 4.0, po raz pierwszy udostępniono wersję Qt dla wszystkich obsługiwanych systemów operacyjnych (w tym Windows) na licencji GPL. Dopiero ta decyzja wygasiła w środowisku wolnego oprogramowania próby stworzenia rozwiązań alternatywnych do Qt pod względem polityki licencyjnej (jednym z ostatnich poważnych projektów tego typu był Q... Windows).

    Przedrostek, prefiks – w językoznawstwie jest to fragment wyrazu (tzw. morfem) dodawany po lewej stronie do słowa podstawowego lub jego rdzenia (czyli do podstawy słowotwórczej), służący tworzeniu wyrazów pochodnych. Wyraz może nie posiadać żadnego prefiksu, może posiadać jeden lub więcej prefiksów.Program komputerowy (ang. computer program) - sekwencja symboli opisująca obliczenia zgodnie z pewnymi regułami zwanymi językiem programowania. Program jest zazwyczaj wykonywany przez komputer (np. wyświetlenie strony internetowej), czasami bezpośrednio – jeśli wyrażony jest w języku zrozumiałym dla danej maszyny lub pośrednio – gdy jest interpretowany przez inny program (interpreter). Program może być ciągiem instrukcji opisujących modyfikacje stanu maszyny ale może również opisywać obliczenia w inny sposób (np. rachunek lambda).

    W 2007 udostępniono wersję Qt dla języka Java (Qt Jambi).

    W 2008 Trolltech został przejęty przez Nokię i zmienił nazwę na Qt Software, a od sierpnia 2009 na Qt Development Frameworks. W styczniu 2009 złagodzono politykę licencyjną (stosowana od wersji Qt 4.5 opcjonalna licencja LGPL praktycznie czyni z Qt bibliotekę darmową dla większości zastosowań komercyjnych). W tym samym roku całkowicie wstrzymano rozwój Qt Jambi oraz zaprzestano rozwoju Qt Extended jako osobnej platformy, włączając część jej funkcji do głównej gałęzi Qt.

    Kaskadowe arkusze stylów (ang. Cascading Style Sheets, w skrócie CSS) to język służący do opisu formy prezentacji (wyświetlania) stron WWW. CSS został opracowany przez organizację W3C w 1996 r. jako potomek języka DSSSL przeznaczony do używania w połączeniu z SGML-em. Pierwszy szkic CSS zaproponował w 1994 r. Håkon Wium Lie.Unix Time-Sharing System (pisane również jako UNIX, choć nie jest to skrót – nazwa „UNIX” jest kalamburem określenia Multics, który był wzorem dla Uniksa) – system operacyjny rozwijany od 1969 r. w Bell Labs (UNIX System Laboratories, USL) przez Dennisa Ritchie i Kena Thompsona. W latach 70. i 80. zdobył bardzo dużą popularność, co zaowocowało powstaniem wielu odmian i implementacji. Część z nich, w szczególności Linux oraz OS X, jest w użyciu do dziś. UNIX jest zarejestrowanym znakiem towarowym The Open Group.

    W 2010 Nokia zapowiedziała użycie Qt jako głównej platformy programistycznej w nadchodzącym Symbianie^4 oraz systemie MeeGo. Wydano testowe wersje API do urządzeń mobilnych – Qt Mobility (zastępujące Qt Extended).

    W 2012 Digia kupiła od firmy Nokia framework Qt, zapewniając przy okazji dalsze wsparcie i rozwój darmowej licencji i współpracę z projektem KDE oraz KDE Free Qt Foundation na rzecz otwartego i wolnego oprogramowania.

    Główne wydania biblioteki[ | edytuj kod]

    Proste okno z przyciskiem
  • Qt 1.0 – 24 września 1996
  • Qt 2.0 – czerwiec 1999
  • Qt 3.0 – 2001
  • Qt 4.0 – 28 czerwca 2005
  • Qt 5.0 – 19 grudnia 2012
  • MDI (ang. Multi Document Interface - wielodokumentowy interfejs) - sposób prezentacji okienek poprzez graficzny interfejs użytkownika polegający na wyświetlaniu wewnątrz okienka nadrzędnego okienek wchodzących w skład danego programu (aplikacji). Przeciwnym podejściem jest wyświetlanie każdego z okienek osobno, taki sposób prezentacji nosi nazwę SDI (ang. Single Document Interface). Także typ oprogramowania, głównie służącego do pracy z różnego rodzaju dokumentami, lecz nie tylko.Qt Development Frameworks (dawniej Quasar Technologies, następnie Trolltech i Qt Software) – norweska firma założona przez Haavarda Norda oraz Eirika Chambe-Enga w 1994. Jej pracownicy stworzyli w 1995 bibliotekę Qt (która stała się podstawą KDE – środowiska graficznego i platformy dla Uniksa i jego pochodnych, m.in. Linuksa), oraz Qtopię (przemianowaną na Qt Extended) dla urządzeń mobilnych (ang. mobile devices).


    Podstrony: 1 [2] [3] [4]




    Warto wiedzieć że... beta

    Pascal – dawniej jeden z najpopularniejszych języków programowania, uniwersalny, wysokiego poziomu, ogólnego zastosowania, oparty na języku Algol. Został opracowany przez Niklausa Wirtha w 1970 roku. Nazwa języka pochodzi od nazwiska francuskiego fizyka, matematyka i filozofa Blaise Pascala.
    Siemens ˈziːməns, oficjalnie Siemens AG, zapis stylizowany SIEMENS – międzynarodowy koncern z branży energetycznej, elektrotechnicznej i telekomunikacyjnej. Główne siedziby przedsiębiorstwa znajdują się w Monachium i w Berlinie. Siemens AG notowany jest na Frankfurckiej Giełdzie Papierów Wartościowych.
    ECMAScript – ustandaryzowany przez ECMA obiektowy skryptowy języka programowania, którego najbardziej znane implementacje to JavaScript, JScript i ActionScript. Specyfikacja ta oznaczona jest jako ECMA-262 i ISO/IEC 16262.
    OpenGL (ang. Open Graphics Library) – specyfikacja uniwersalnego API do generowania grafiki. Zestaw funkcji składa się z 250 podstawowych wywołań, umożliwiających budowanie złożonych trójwymiarowych scen z podstawowych figur geometrycznych.
    Ruby to interpretowany, w pełni obiektowy i dynamicznie typowany język programowania stworzony w 1995 roku przez Yukihiro Matsumoto (pseudonim Matz). W języku angielskim ruby oznacza rubin.
    W programowaniu obiektowym klasa jest częściową lub całkowitą definicją dla obiektów. Definicja obejmuje dopuszczalny stan obiektów oraz ich zachowania. Obiekt, który został stworzony na podstawie danej klasy nazywany jest jej instancją. Klasy mogą być typami języka programowania - przykładowo, instancja klasy Owoc będzie mieć typ Owoc. Klasy posiadają zarówno interfejs, jak i strukturę. Interfejs opisuje, jak komunikować się z jej instancjami za pośrednictwem metod, zaś struktura definiuje sposób mapowania stanu obiektu na elementarne atrybuty.
    Android – system operacyjny dla urządzeń mobilnych takich jak telefony komórkowe, smartfony, tablety, tablety PC i netbooki. Obecnie (2013) najpopularniejszy system mobilny na świecie. Android został oparty na jądrze Linux oraz oprogramowaniu na licencji GNU. Początkowo był rozwijany przez firmę Android Inc. (kupioną później przez Google), następnie przeszedł pod skrzydła Open Handset Alliance.

    Reklama