Qt (Fachwerk)

Qt ("süß", oder inoffiziell als Q-T Stichwort-T-Stück) ist ein Quer-Plattform-Anwendungsfachwerk, das weit verwendet wird, um Anwendungssoftware mit einer grafischen Benutzerschnittstelle (GUI) zu entwickeln (in denen Fällen Qt als ein Produkt-Werkzeug klassifiziert wird), und auch gewöhnt gewesen ist, um non-GUI Programme wie Werkzeuge der Befehl-Linie und Konsolen für Server zu entwickeln. Qt wird am meisten namentlich in Autodesk Maya, der Kernwaffe der Gießerei, Adobe Photoshop Elements, OPIE, Skype, VLC Mediaspieler, VirtualBox und Mathematica, und von der Europäischen Weltraumorganisation, DreamWorks, Google, dem HP, KDE, Lucasfilm, Panasonic, Philips, Samsung, Siemens, Volvo, dem Zeichentrickfilm-Studio von Walt Disney und der Forschung In der Bewegung verwendet.

Qt wird durch ein offenes Quellprojekt, das Qt-Projekt entwickelt, Entwickler als Personen und von Unternehmen einbeziehend, die arbeiten, um Qt, wie Nokia, Digia und andere vorzubringen. Vor dem Start des Qt-Projektes wurde es von der Qt Entwicklungsfachwerk-Abteilung der Nokia erzeugt, die nach dem Erwerb der Nokia der norwegischen Gesellschaft Trolltech, der ursprüngliche Erzeuger von Qt entstanden ist. Im Februar 2011 hat Nokia seine Entscheidung bekannt gegeben, Technologien von Symbian fallen zu lassen und ihre Zukunft smartphones auf der Plattform von Microsoft stattdessen zu stützen. Einen Monat später hat Nokia den Verkauf des kommerziellen Genehmigens von Qt und Berufsdienstleistungen zu Digia PLC bekannt gegeben, obwohl Nokia die Hauptentwicklungskraft hinter dem Fachwerk bleiben wird. Am 9. Mai wurde es auf der Qt Laboratorium-Website bekannt gegeben, dass der Grundstein für die folgende Hauptversion von Qt mit der Erwartung gelegt wurde, dass Qt 5 2012 befreit würde.

Qt verwendet Standard C ++, aber macht umfassenden Gebrauch eines speziellen Codegenerators (hat den Bearbeiter von Meta Object oder moc genannt) zusammen mit mehreren Makros, um die Sprache zu bereichern. Qt kann auch auf mehreren anderen Programmiersprachen über die Sprache bindings verwendet werden. Es läuft auf den Haupttischplattformen und einige der beweglichen Plattformen. Es hat umfassende Internationalisierungsunterstützung. Non-GUI Eigenschaften schließen SQL Datenbankzugang, XML Syntaxanalyse ein, fädeln Management, Netzunterstützung und eine vereinigte Quer-Plattform-Anwendung, Schnittstelle programmierend (API) für das Dateiberühren ein.

Verteilt in Form vom GNU Kleinere Lizenz der Breiten Öffentlichkeit (unter anderen) ist Qt freie und offene Quellsoftware. Alle Ausgaben unterstützen viele Bearbeiter, einschließlich des GCC C ++ Bearbeiter und das Sehstudio-Gefolge.

Plattformen

Qt arbeitet an den folgenden Plattformen:

  • Windows - Qt für Windows von Microsoft
  • Windows CE, beweglich - Qt für das Windows CE und Windows beweglicher
  • Symbian - Qt für die Plattform von Symbian. Qt soll den Avkon der Nokia als der unterstützte UI SDK ersetzen, für Anwendungen von Symbian zu entwickeln. Der Qt für die Entwicklungsgruppe von Symbian hat viele qualitätskontrollierte verfügbare Artikel.
  • OS X - Qt für den Apple OS X; Unterstützungsanwendungen auf Kakao
  • X11 - Qt für X Fenstersystem (GNU/Linux, FreeBSD, HP-UX, Solaris, AIX, usw.)
  • Eingebetteter Linux - Qt für eingebettete Plattformen: der persönliche Digitalhelfer, smartphone, usw.
  • Maemo, MeeGo - Qt für Maemo, hat sich mit Moblin zu MeeGo verschmolzen; viele Anwendungen werden bereits für auf den vorherigen Internetblöcken gestützten Maemo geschrieben; der Nokia N900 unterstützt auch Qt; das Forum Nokia Wiki hat das Artikel-Unterstützen Entwicklung von Qt qualitätskontrolliert; mhe Maemo hat eine Entwicklungsgruppe auf dem Forum Nokia Wiki auf dem Forum Nokia Wiki Maemo.
  • Wayland - Qt für Wayland zeigen Server. Anwendungen von Qt können zwischen grafischem backends wie X und Wayland in der Durchlaufzeit mit - Plattform-Befehl-Linienauswahl umschalten

Außenhäfen

Seitdem Nokia den Quellcode von Qt zur Gemeinschaft auf Gitorious geöffnet hat, sind verschiedene Häfen erschienen.

Hier sind einige von ihnen:

  • Qt für OpenSolaris - Qt für OpenSolaris
  • Qt für das Haiku - Qt für das Haiku
  • Qt für OS/2 - Qt für OS/2 eCS Plattform
  • Qt-iPhone - experimentelle Entwicklung von Qt für das iPhone
  • Qt für webOS - experimentelle Entwicklung von Qt für webOS auf der Palme Pre
  • Qt für den Amazonas Entzünden DX - die experimentelle Entwicklung von Qt für den Amazonas Entzündet DX
  • Necessitas - Qt für den Androiden
  • Qt für BlackBerry - Qt für BlackBerry

Ausgaben

Es gibt drei Ausgaben von Qt, der auf jeder dieser Plattformen nämlich verfügbar ist:

  • GUI Framework - kommerzielles Zugang-Niveau Ausgabe von GUI, die des Netzes und der Datenbankunterstützung (früher beraubt ist, genannt "Tischlicht")
  • Volles Fachwerk - vollendet kommerzielle Ausgabe
  • Open Source - vollendet Ausgabe des Open Sources

Qt ist laut der folgenden Urheberrechtslizenzen verfügbar:

  • GNU LGPL 2.1 Version mit Qt spezielle Ausnahme
  • GNU GPL 3.0 Version
  • Kommerzielle Entwickler-Lizenz

Strom

Trolltech hat Qt 4.0 am 28. Juni 2005 befreit und hat fünf neue Technologien im Fachwerk eingeführt:

  • Tulpe Eine Reihe von Schablone-Behälterklassen.
  • Interviewen Sie Eine MusterAnsicht-Kontrolleurarchitektur für Artikel-Ansichten.
  • Arthur A 2. malendes Fachwerk.
  • Kopist Ein Unicode Text renderer mit einer öffentlichen API, um auf niedriger Stufe Textlay-Out durchzuführen.
  • MainWindow Ein modernes Handlungsbasiertes Hauptfenster, Werkzeugleiste, Menü und dockende Architektur.

Als nächstes

Die folgende Hauptversion von Qt wird Qt 5 sein. Wie man erwartet, wird es 2012 veröffentlicht. Diese neue Version wird eine Hauptänderung des Paradigmas in der Plattform, mit der Hardware-beschleunigten Grafik, QML und Javascript kennzeichnen, eine Hauptrolle spielend. C ++ setzen Produkte fort, unterstützt zu werden, aber sie sind nicht mehr ein Hauptteil der Plattform. Qt5 sollte eine Verbesserung im Begriff der Leistung und schnellen Entwicklung sein.

Zur gleichen Zeit hat sich das Fachwerk bewegt, um Regierungsgewalt mit der andauernden Entwicklung von Qt 5 zu öffnen, an qt-project.org stattfindend. Es ist jetzt für Entwickler außerhalb Nokia möglich, sie vorzulegen und nachprüfen zu lassen.

Design

Die Neuerung von Qt, als es zuerst veröffentlicht wurde, hat sich auf einige Schlüsselkonzepte verlassen.

Module

  • Module für die allgemeine Softwareentwicklung
  • QtCore - enthält Kern non-GUI Klassen, einschließlich der Ereignis-Schleife und des Signals von Qt und des Ablagefach-Mechanismus, Plattform unabhängige Abstraktionen für Unicode, Fäden, haben Dateien, geteiltes Gedächtnis, regelmäßige Ausdrücke, und Benutzer und Anwendungseinstellungen kartografisch dargestellt
  • QtGui - enthält die meisten GUI Klassen; einschließlich vieler, legen Baum und auf dem MusterAnsicht-Kontrolleurdesignmuster gestützte Listenklassen auf den Tisch; auch stellt hoch entwickeltes 2. Leinwand-Produkt zur Verfügung, das fähig ist, Tausende von Sachen einschließlich gewöhnlicher Produkte zu versorgen
  • QtMultimedia - führt auf niedriger Stufe Multimediafunktionalität durch
  • QtNetwork - enthält Klassen, um UDP und TCP Kunden und Server zu schreiben; das Einführen von FTP und HTTP Kunden, das Unterstützen DNS lookups; Netzereignisse werden mit der Ereignis-Schleife integriert, die es sehr leicht macht, vernetzte Anwendungen zu entwickeln
  • QtOpenGL - enthält Klassen, die den Gebrauch von OpenGL in der Übergabe der 3D-Grafik ermöglichen
  • QtOpenVG - ein Steck-, der Unterstützung für OpenVG zur Verfügung stellt, malend
  • QtScript - ein mit Sitz in ECMAScript scripting Motor
  • QtScriptTools - stellt hinzugefügte Bestandteile für das Anwendungsverwenden QtScript zur Verfügung
  • QtSql - enthält Klassen, die mit der offenen Quelle und den SQL Eigentumsdatenbanken integrieren. Es schließt editable Datenmodelle für Datenbanktische ein, die mit GUI Klassen verwendet werden können. Es schließt auch eine Durchführung von SQLite ein
  • QtSvg - enthält Klassen, für den Inhalt von SVG Dateien zu zeigen. Es unterstützt die statischen Eigenschaften von SVG 1.2 Winzige
  • QtWebKit - stellt einen mit Sitz in WebKit Lay-Out-Motor sowie Klassen zur Verfügung, um zu machen und mit Webinhalt aufeinander zu wirken
  • QtXml - führt SAXOFON und DOM-Schnittstellen zum XML von Qt parser durch
  • QtXmlPatterns - stellt Unterstützung für XPath, XQuery, XSLT und XML Diagramm-Gültigkeitserklärung zur Verfügung
  • Phonon - Multimedia-API, stellt einfache Multimediakontrolle zur Verfügung
  • Qt3Support - stellt Klassen zur Verfügung, die Halten nach Backbord von Qt 3 zu Qt 4 erleichtern
  • Qt Aussagemodul ist ein Aussagefachwerk, um flüssige Benutzerschnittstellen in QML zu bauen
  • Module, um mit den Werkzeugen von Qt zu arbeiten
  • QtDesigner
  • QtUiTools
  • QtHelp
  • QtTest
  • Module für Entwickler von Unix
  • QtDBus - eine Bibliothek, um Zwischenprozess-Kommunikation über das D-Busprotokoll durchzuführen
  • Module für Windows-Entwickler
  • QAxContainer - eine Erweiterung, für auf Steuerungen von ActiveX und COM zuzugreifen, wendet ein
  • QAxServer - eine statische Bibliothek, um normalen Qt zu drehen, der in einen COM Server binär
ist

Gebrauch der heimischen UI-Übergabe APIs

Qt hat gepflegt, mit dem heimischen Blick seiner beabsichtigten Plattformen wettzueifern, die gelegentlich zu geringen Diskrepanzen geführt haben, wo dieser Wetteifer unvollständig war. Neue Versionen von Qt verwenden den heimischen Stil APIs der verschiedenen Plattformen, die Plattform für das gewünschte Äußere der Steuerungen von Qt zu fragen, und so leiden Sie unter solchen Problemen wie viel nicht.

Man sollte bemerken, dass auf einigen Plattformen (wie MeeGo und KDE) Qt die heimische API ist.

Bearbeiter von Metaobject

Der metaobject Bearbeiter, genannter moc, ist ein Werkzeug, das auf den Quellen eines Programms von Qt geführt wird. Es interpretiert bestimmte Makros vom C ++ Code als Anmerkungen, und verwendet sie, um hinzugefügten C ++ Code mit der Information von Meta über die im Programm verwendeten Klassen zu erzeugen. Diese meta Information wird von Qt verwendet, um Programmiereigenschaften nicht verfügbar heimisch in C ++ zur Verfügung zu stellen: das System des Signals/Ablagefaches, die Selbstbeobachtung und die asynchronen Funktionsanrufe.

QtScript ECMAScript Dolmetscher

QtScript ist ein Quer-Plattform-Werkzeug, das Entwicklern erlaubt, ihren Qt/C ++ Anwendungen scriptable das Verwenden einer interpretierten scripting Sprache zu machen: Qt Schrift (gestützt auf ECMAScript/JavaScript).

Von Qt 4.3.0 vorwärts schreitende wird die scripting API, die auf QSA basiert, als ein Kernteil von Qt integriert und ist nicht mehr eine getrennte Bibliothek.

Bindings

Wie gezeigt, im Tisch unten hat Qt eine Reihe von bindings für verschiedene Sprachen, die einige oder ganze seine Merkmalsreihe durchführen.

Qt hallo Welt

  1. einschließen

int Hauptsache (interne Nummer argc, Rotforelle *argv [])

{\

QApplication app (argc, argv);

QLabel Etikett ("Hallo, Welt!");

label.show ;

geben Sie app.exec zurück;

}\</Quelle>

Das Kompilieren und die Durchführung von Qt hallo Weltprogramm

1. Schaffen Sie eine Mappe genannt Hallo (oder jeder andere Name)

2. Kopieren Sie und kleben Sie das obengenannte Programm als Datei Hello.cpp im Verzeichnis Hallo auf

3. Mit Hallo als das aktuelle Verzeichnis, geführter

a. qmake - planen

b. qmake Hello.pro (oder was auch immer wird die Datei genannt)

c. make/gmake/nmake - wie erforderlich, durch OS und Bearbeiter-Umgebung

4. Führen Sie./hallo (Oder release\Hello.exe in Windows) durch

Werkzeuge

  • Qt Schöpfer, eine Quer-Plattform IDE für C ++ und QML
  • qmake, ein Werkzeug, das die Generation von Makefiles für das Entwicklungsprojekt über verschiedene Plattformen automatisiert
  • Qt Entwerfer
  • Qt Helfer
  • Qt Linguist
  • lupdate
  • lrelease
  • lconvert
  • QVFb
  • makeqpf
  • uic (Benutzerschnittstelle-Bearbeiter)
  • rcc (Quellenbearbeiter)
  • qtconfig
  • qconfig
  • qtdemo
  • qt3to4
  • qdbusxml2cpp
  • D-Buszuschauer
  • Qt Sehstudio-Zusatzfunktion
  • Qt Eklipse-Integration
  • Qt Simulator
  • Nokia Smart Installer für Symbian
  • qmlviewer
  • Schneller Qt, ein QML hat Benutzerschnittstelle-Entwicklungsbastelsatz gestützt

Wanderungswerkzeuge

Geschichte

Haavard Nord und Eirik Chambe-Eng (die ursprünglichen Entwickler von Qt und der CEO und Präsident, beziehungsweise, Trolltech) haben Entwicklung von "Qt" 1991 drei Jahre begonnen, bevor die Gesellschaft als Quasar Technologies vereinigt wurde, dann den Namen geändert hat, um Technologie und dann zu Trolltech Zu trällern.

Das Werkzeug wurde Qt genannt, weil der Brief Q ansprechend in der Emacs Schriftart von Haavard ausgesehen hat, und "t" von Xt, dem X Werkzeug begeistert wurde.

Die ersten zwei Versionen von Qt hatten nur zwei Geschmäcke: Qt/X11 für Unix und Qt/Windows für Windows. Die Windows-Plattform war nur laut einer Eigentumslizenz verfügbar, die bedeutet hat, dass freie/offene Quellanwendungen, die in Qt für X11 geschrieben sind, zu Windows nicht getragen werden konnten, ohne die Eigentumsausgabe zu kaufen.

Am Ende 2001 hat Trolltech Qt 3.0 befreit, der Unterstützung für Mac OS X hinzugefügt hat. Die Unterstützung von Mac OS X war nur in der Eigentumslizenz bis Juni 2003 verfügbar, als Trolltech Qt 3.2 mit der unter dem GPL verfügbaren Unterstützung von Mac OS X befreit hat.

Im Juni 2005 hat Trolltech Qt 4.0 befreit.

Nokia hat Trolltech ASA am 17. Juni 2008 erworben und hat den Namen zuerst in die Qt Software dann ins Qt Entwicklungsfachwerk geändert.

Seitdem hat es sich auf Entwicklung von Qt konzentriert, um es in die Hauptentwicklungsplattform für seine Geräte einschließlich eines Hafens zur Plattform von Symbian S60 zu verwandeln. Die Version 1.0 des Nokia Qt SDK wurde am 23. Juni 2010 veröffentlicht. Der Quellcode wurde über Gitorious bereitgestellt, eine Gemeinschaft hat Schwachkopf-Quellcodebehältnis orientiert, um eine noch breitere Gemeinschaft zu sammeln, die Qt nicht nur verwendet sondern auch hilft, ihn zu verbessern.

Das Genehmigen

Zu jeder Zeit war Qt laut einer kommerziellen Lizenz verfügbar, die erlaubt, Eigentumsanwendungen ohne Beschränkungen zu entwickeln, zu lizenzieren. Außerdem ist Qt laut mehrerer immer freierer Lizenzen allmählich bereitgestellt worden.

Bis zur Version 1.45 wurde der Quellcode für Qt laut der Lizenz von FreeQt veröffentlicht. Das wurde als nicht entgegenkommend mit dem offenen Quellgrundsatz durch die Initiative des Open Sources und der Definition der kostenlosen Software von der Organisation zur Förderung freier Software angesehen, weil, während die Quelle verfügbar war, es die Neuverteilung von modifizierten Versionen nicht erlaubt hat.

Meinungsverschiedenheit hat 1998 ausgebrochen, als es klar geworden ist, dass die KDE Softwarekompilation von KDE dabei war, eine der Haupttischumgebungen für Linux zu werden. Da es auf Qt basiert hat, haben sich viele Menschen in der Bewegung der kostenlosen Software Sorgen gemacht, dass ein wesentliches Stück von einem ihrer Hauptbetriebssysteme Eigentums-sein würde.

Mit der Ausgabe der Version 2.0 des Werkzeuges wurde die Lizenz zu Q Public License (QPL), einer Lizenz der kostenlosen Software, aber einem betrachtetem von der Organisation zur Förderung freier Software als unvereinbar mit dem GPL geändert. Kompromisse wurden zwischen KDE und Trolltech gesucht, wodurch Qt nicht im Stande sein würde, laut einer einschränkenderen Lizenz zu fallen, als der QPL, selbst wenn Trolltech ausgezahlt würde oder Bankrott machen würde. Das hat zur Entwicklung des KDE Freien Qt Fundaments geführt, das versichert, dass Qt laut einer BSD-artigen Lizenz fallen würde, sollte keine freie/offene Quellversion von Qt, während 12 Monate veröffentlicht werden.

2000 wurde Qt 2.2 unter dem GPL v2 befreit, die ganze Meinungsverschiedenheit bezüglich der GPL Vereinbarkeit beendend.

2002 haben Mitglieder des KDE auf dem Projekt von Cygwin begonnen nach Backbord zu halten der GPL hat Qt/X11-Codebasis Windows lizenziert. Das war als Antwort auf die Verweigerung von Trolltech, Qt/Windows unter dem GPL zu lizenzieren mit der Begründung, dass Windows nicht eine freie/offene Quellsoftwareplattform war. Das Projekt hat angemessenen Erfolg erreicht, obwohl es nie Produktionsqualität erreicht hat.

Das wurde aufgelöst, als Trolltech Qt/Windows 4 unter dem GPL im Juni 2005 veröffentlicht hat. Qt 4 jetzt Unterstützungen derselbe Satz von Plattformen in der kostenlosen Software / öffnet Quellausgaben als in der Eigentumsausgabe, so ist es jetzt möglich, das GPL-lizenzierte freie/offene Quellanwendungsverwenden Qt auf allen unterstützten Plattformen zu schaffen. Der GPL v3 mit der speziellen Ausnahme wurde später als eine zusätzliche Genehmigen-Auswahl hinzugefügt. Die GPL Ausnahme erlaubt der Endanwendung, unter der verschiedenen GPL-unvereinbaren kostenlosen Software / offene Quelllizenzen wie die Mozilla Öffentliche Lizenz lizenziert zu werden.

Am 14. Januar 2009 hat Version 4.5 von Qt eine andere Auswahl, den LGPL hinzugefügt, der Qt noch attraktiver für non-GPL offene Quellprojekte und für geschlossene Anwendungen machen sollte.

Gebrauch

UI Umgebungen

  • KDE Plasmaarbeitsraum, eine populäre Quer-Plattform grafische Umgebung
  • MeeGo, mit Sitz in Linux offene Quelle bewegliches Betriebssystem
  • Motorola A760, Gebrauch-Qt/Embedded in seinem UI
  • OPIE
  • Qt verlängerter verbesserter
  • Rasiermesser-qt, eine einem Werkzeugkasten ähnliche Tischumgebung
  • Einheit 2., der Rückgriff grafische Umgebung auf Ubuntu (Betriebssystem)

Fensterbetriebsleiter für X Fenstersystem

Die folgenden Fensterbetriebsleiter verwenden das Werkzeug von Qt:

  • EggWM
  • Integrität
  • KWin
  • qlwm

Anwendungen

Softwarebibliotheken

Siehe auch

  • Liste von Produkt-Werkzeugen

Referenzen

Bibliografie

Links


Das Steppen / Beben C
Impressum & Datenschutz