qt5-components-5.15.14

Introduksjon til qt5 komponenter

Qt5 er et applikasjonsrammeverk på tvers av plattformer som er mye brukt for å utvikle applikasjonsprogramvare med et grafisk brukergrensesnitt (GUI) (i hvilke tilfeller qt5 er klassifisert som et widget-verktøysett), og brukes også til å utvikle ikke-GUI programmer som kommandolinjeverktøy og konsoller for servere.

[Important]

Important

Den fulle qt5 pakken består av 43 separate komponenter. Disse instruksjonene bruker en liten delmengde av hele qt5 installasjonsinstruksjoner. De dekker komponentene som trengs for å bygge pakker i BLFS.

Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.2 plattform.

Pakkeinformasjon

Ytterligere Nedlastinger

qt5 Avhengigheter

Påkrevd

Xorg Biblioteker

Anbefalt

Valgfri

GTK+-3.24.43, libinput-1.26.1 MariaDB-10.11.8 eller MySQL, MIT Kerberos V5-1.21.3, mtdev-1.1.7 PostgreSQL-16.4, og unixODBC-2.3.12

Stille inn installasjonsprefikset

Installing in /opt/qt5

BLFS redaktørene anbefaler å installere qt5 i en mappe annet enn /usr, dvs. /opt/qt5. For å gjøre dette, still inn følgende miljøvariabel:

export QT5PREFIX=/opt/qt5
[Tip]

Tip

Noen ganger er installasjonsbanene hardkodet til installerte filer. Dette er grunnen /opt/qt5 brukes som installasjonsprefiks i stedet for /opt/qt-5.15.14. For å lage en versjonert qt5 mappe etter at installasjonen er fullført, kan du gi nytt navn til mappen og opprette en symbolkobling:

mkdir -pv /opt/qt-5.15.14
ln -sfnv qt-5.15.14 /opt/qt5

Senere kan du ønske å installere andre versjoner av qt5. For å gjøre det, fjern bare symbolkoblingen og bruk /opt/qt5 som prefikset igjen. Hvilken versjon av qt5 du bruker avhenger bare av hvor symbollinken peker.

Installasjon av qt5

[Warning]

Warning

Hvis qt5 blir reinstallert i samme mappe som en eksisterende forekomst, kjør kommandoene utført av root, som make install, fra en konsoll eller ikke-qt5 basert vindusbehandler. Den overskriver qt5 biblioteker som ikke skal være i bruk under installasjonsprosessen.

[Caution]

Caution

Hvis du ikke installerte noen av de anbefalte avhengighetene, undersøk ./configure --help utdata for å sjekke hvordan du deaktiverer dem eller bruk interne versjoner samlet i kildens tarball.

[Note]

Note

BLFS redaktørene anbefaler ikke å installere qt5 inn i /usr hierarkiet fordi det blir vanskelig å finne komponenter og å oppdatere til en ny versjon. Hvis du ønsker å installere qt5 i /usr, mappene må spesifiseres eksplisitt. I dette tilfellet, sett QT5PREFIX=/usr og legg til følgende i konfigurerings argumentene nedenfor:

            -archdatadir    /usr/lib/qt5                \
            -bindir         /usr/bin                    \
            -plugindir      /usr/lib/qt5/plugins        \
            -importdir      /usr/lib/qt5/imports        \
            -headerdir      /usr/include/qt5            \
            -datadir        /usr/share/qt5              \
            -docdir         /usr/share/doc/qt5          \
            -translationdir /usr/share/qt5/translations \
            -examplesdir    /usr/share/doc/qt5/examples

Først, bruk en oppdatering for å trekke inn rettelsene kurert av kde for disse moduler som kreves av pakker nevnt i denne boken:

patch -Np1 -i ../qt-everywhere-opensource-src-5.15.14-kf5-1.patch

Oppdateringen er ment å brukes i et git depot. Hvis det ikke er det, vil noen filer som bør endres av configure etter bruk av oppdateringen ikke berøres. Heldigvis er det nok å lage en .git mappe i qmake mappen hvor configure skriptet kjøres:

mkdir -pv qtbase/.git

På dette tidspunktet ønsker vi å sette opp å hoppe over de fleste komponentene. Gjør det med:

ls -Fd qt* | grep / | sed 's/^/-skip /;s@/@@' > tempconf &&
sed -i -r '/base|tools|x11extras|svg|declarative|wayland/d' tempconf

Hvis du ønsker å installere NetworkManager-1.48.8 eksempler, kjør: sed -i '/qtdoc/d' tempconf.

Hvis du velger å ikke installere Qt-6.7.2 og ønsker å bruke qt5 med wireshark, kjør: sed -i '/qtmultimedia/d' tempconf.

Nå, installer qt5 ved å kjøre følgende kommandoer:

./configure -prefix $QT5PREFIX   \
            -sysconfdir /etc/xdg \
            -confirm-license     \
            -opensource          \
            -dbus-linked         \
            -openssl-linked      \
            -system-harfbuzz     \
            -system-sqlite       \
            -nomake examples     \
            -no-rpath            \
            -journald            \
            $(cat tempconf)      &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install

Fjern referanser til byggemappen fra installert bibliotek avhengighetsfiler (prl) ved å kjøre følgende kommando som root bruker:

find $QT5PREFIX/ -name \*.prl \
   -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \;

Installer bilder og lag menyoppføringer for installerte applikasjoner. QT5BINDIR variabelen brukes her for å peke på mappen for de kjørbare programmene. Hvis du har endret bindir ovenfor, QT5BINDIR må justeres nedenfor. Vær sikker at QT5BINDIR variabel er definert i root sitt miljø og som root bruker:

QT5BINDIR=$QT5PREFIX/bin

install -v -dm755 /usr/share/pixmaps/                  &&

install -v -Dm644 qttools/src/assistant/assistant/images/assistant-128.png \
                  /usr/share/pixmaps/assistant-qt5.png &&

install -v -Dm644 qttools/src/designer/src/designer/images/designer.png \
                  /usr/share/pixmaps/designer-qt5.png  &&

install -v -Dm644 qttools/src/linguist/linguist/images/icons/linguist-128-32.png \
                  /usr/share/pixmaps/linguist-qt5.png  &&

install -v -Dm644 qttools/src/qdbus/qdbusviewer/images/qdbusviewer-128.png \
                  /usr/share/pixmaps/qdbusviewer-qt5.png &&

install -dm755 /usr/share/applications &&

cat > /usr/share/applications/assistant-qt5.desktop << EOF
[Desktop Entry]
Name=Qt5 Assistant
Comment=Shows Qt5 documentation and examples
Exec=$QT5BINDIR/assistant
Icon=assistant-qt5.png
Terminal=false
Encoding=UTF-8
Type=Application
Categories=Qt;Development;Documentation;
EOF

cat > /usr/share/applications/designer-qt5.desktop << EOF
[Desktop Entry]
Name=Qt5 Designer
GenericName=Interface Designer
Comment=Design GUIs for Qt5 applications
Exec=$QT5BINDIR/designer
Icon=designer-qt5.png
MimeType=application/x-designer;
Terminal=false
Encoding=UTF-8
Type=Application
Categories=Qt;Development;
EOF

cat > /usr/share/applications/linguist-qt5.desktop << EOF
[Desktop Entry]
Name=Qt5 Linguist
Comment=Add translations to Qt5 applications
Exec=$QT5BINDIR/linguist
Icon=linguist-qt5.png
MimeType=text/vnd.trolltech.linguist;application/x-linguist;
Terminal=false
Encoding=UTF-8
Type=Application
Categories=Qt;Development;
EOF

cat > /usr/share/applications/qdbusviewer-qt5.desktop << EOF
[Desktop Entry]
Name=Qt5 QDbusViewer
GenericName=D-Bus Debugger
Comment=Debug D-Bus applications
Exec=$QT5BINDIR/qdbusviewer
Icon=qdbusviewer-qt5.png
Terminal=false
Encoding=UTF-8
Type=Application
Categories=Qt;Development;Debugger;
EOF

Noen pakker som f.eks VLC-3.0.21 se etter visse kjørbare filer med suffikset -qt5. Kjør følgende kommando som root bruker for å lage de nødvendige symbolkoblingene:

for file in moc uic rcc qmake lconvert lrelease lupdate; do
  ln -sfvn $QT5BINDIR/$file /usr/bin/$file-qt5
done

Parameterforklaringer

-confirm-license: Godta lisens uten å spørre brukeren under konfigurasjonen.

-opensource: Installer åpen kildekode versjon av qt.

-nomake examples: Denne bryteren deaktiverer bygging av eksempelprogrammene inkludert i kilden tarball. Fjern den hvis du vil bygge dem.

-system-sqlite: Denne bryteren muliggjør bruk av systemversjonen av SQLite.

-system-harfbuzz: Denne bryteren muliggjør bruk av systemversjonen av Harfbuzz.

-dbus-linked -openssl-linked: Disse brytere muliggjør eksplisitt kobling av D-Bus og OpenSSL biblioteker i qt5 biblioteker i stedet for å dlopen()-ing dem.

-journald: Denne bryteren lar deg sende qt meldinger til journald loggingssystem.

$(cat tempconf): Denne kommandoen gir en liste over komponenter som ikke skal bygges. Disse oppføringene er i form av "-skip <component>".

Konfigurere qt5

Konfigurasjonsinformasjon

Hvis Sudo-1.9.15p5 er installert, skal QT5DIR være tilgjengelig for superbrukeren også. Utfør følgende kommandoer som root bruker:

cat > /etc/sudoers.d/qt << "EOF"
Defaults env_keep += QT5DIR
EOF

Hvis du har installert qt5 i /usr

Hvis du har installert qt5 i /usr, opprett en miljøvariabel som kreves av visse pakker. Som root bruker:

cat > /etc/profile.d/qt5.sh << "EOF"
# Begin /etc/profile.d/qt5.sh

QT5DIR=/usr
export QT5DIR

# End /etc/profile.d/qt5.sh
EOF

Hvis du ikke installerte qt5 i /usr

Hvis du har installert qt5 på et annet sted enn /usr, må du oppdatere følgende konfigurasjonsfiler slik at qt5 er riktig funnet av andre pakker og systemprosesser.

Som root bruker, oppdater /etc/ld.so.conf filen og den dynamiske linkeren kjøretidsbufferfil:

cat >> /etc/ld.so.conf << EOF
# Begin Qt addition

/opt/qt5/lib

# End Qt addition
EOF

ldconfig

Som root bruker, opprett /etc/profile.d/qt5.sh filen:

cat > /etc/profile.d/qt_5.sh << "EOF"
# Begin /etc/profile.d/qt_5.sh

QT5DIR=/opt/qt5

pathappend $QT5DIR/bin           PATH
pathappend $QT5DIR/lib/pkgconfig PKG_CONFIG_PATH

export QT5DIR

# End /etc/profile.d/qt_5.sh
EOF

Innhold

Installerte Programmer: assistant, designer, fixqt4headers.pl, lconvert, linguist, lprodump, lrelease, lrelease-pro, lupdate, lupdate-pro, moc, pixeltool, qcollectiongenerator, qdbus, qdbuscpp2xml, qdbusviewer, qdbusxml2cpp, qdistancefieldgenerator, qdoc, qhelpgenerator, qlalr, qmake, qml, qmlcachegen, qmleasing, qmlformat, qmlimportscanner, qmllint, qmlmin, qmlplugindump, qmlpreview, qmlprofiler, qmlscene, qmltestrunner, qmltime, qmltyperegistrar, qtattributionscanner, qtdiag, qtpaths, qtplugininfo, qtwaylandscanner, qvkgen, rcc, syncqt.pl, tracegen, og uic
Installerte Biblioteker: libQt5AccessibilitySupport.a, libQt5Bootstrap.a, libQt5Concurrent.so, libQt5Core.so, libQt5DBus.so, libQt5Designer.so, libQt5DesignerComponents.so, libQt5DeviceDiscoverySupport.a, libQt5EdidSupport.a, libQt5EglFSDeviceIntegration.so, libQt5EglFsKmsSupport.so, libQt5EglSupport.a, libQt5EventDispatcherSupport.a, libQt5FbSupport.a, libQt5FontDatabaseSupport.a, libQt5GlxSupport.a, libQt5Gui.so, libQt5Help.so, libQt5InputSupport.a, libQt5KmsSupport.a, libQt5LinuxAccessibilitySupport.a, libQt5Network.so, libQt5OpenGL.so, libQt5OpenGLExtensions.a, libQt5PacketProtocol.a, libQt5PlatformCompositorSupport.a, libQt5PrintSupport.so, libQt5Qml.so, libQt5QmlDebug.a, libQt5QmlDevTools.a, libQt5QmlModels.so, libQt5QmlWorkerScript.so, libQt5Quick.so, libQt5QuickParticles.so, libQt5QuickShapes.so, libQt5QuickTest.so, libQt5QuickWidgets.so, libQt5ServiceSupport.a, libQt5Sql.so, libQt5Svg.so, libQt5Test.so, libQt5ThemeSupport.a, libQt5UiTools.a, libQt5WaylandClient.so, libQt5WaylandCompositor.so, libQt5Widgets.so, libQt5X11Extras.so, libQt5XcbQpa.so, libQt5XkbCommonSupport.a, libQt5Xml.so, og flere programtillegg under /opt/qt5/{plugins,qml}
Installerte Mapper: /usr/include/qt5, /usr/lib/qt5, /usr/share/doc/qt5, og /usr/share/qt5 ELLER /opt/qt5 og /opt/qt-5.15.14

Korte beskrivelser

Korte beskrivelser

assistant

er et verktøy for å presentere nettbasert dokumentasjon

designer

er en fullverdig GUI-bygger. Det inkluderer kraftige funksjoner som forhåndsvisningsmodus, automatisk widget layout, støtte for egendefinerte widgets og en avansert eiendomsredaktør

fixqt4headers.pl

er et skript for å erstatte alle Qt 4 stiler inkluderer med Qt 5 inkluderer

lconvert

er en del av Qt5s Linguist-verktøykjede. Den kan brukes som en frittstående verktøy for å konvertere og filtrere oversettelsesdatafiler

linguist

gir støtte for å oversette applikasjoner til lokale språk

lrelease

er et enkelt kommandolinjeverktøy. Den leser XML-basert oversettelse fil i TS-format og produserer meldingsfiler som brukes av applikasjon

lrelease-pro

trekker ut prosjektinformasjon fra qmake-prosjekter og passerer det til lrelease

lupdate

finner oversettbare strenger i den angitte kilden, overskriften og Qt Designer grensesnittfiler, og lagrer de utpakkede meldingene i oversettelsesfiler som skal behandles av lrelease

lupdate-pro

leser en Qt-prosjektfil, og sender den innsamlede informasjonen til lupdate

moc

genererer Qt metaobjektstøttekode

pixeltool

er en skrivebordsforstørrelsesglass - mens du beveger musen rundt skjermen, vil den vise det forstørrede innholdet i vinduet

qcollectiongenerator

behandler og konverterer Qt hjelpefiler

qdbuscpp2xml

tar en C++ kildefil og genererer en D-Bus XML definisjon av grensesnittet

qdbus

viser tilgjengelige tjenester, objektbaner, metoder, signaler og egenskapene til objekter på en buss

qdbusviewer

er en grafisk D-Bus nettleser

qdbusxml2cpp

er et verktøy som kan brukes til å analysere grensesnittbeskrivelser og produsere statisk kode som representerer disse grensesnittene

qdistancefieldgenerator

lar en fontbuffer forhåndsgenereres for at Text.QtRendering skal øke hastigheten oppstart av en applikasjon hvis brukergrensesnittet har mye tekst, eller flere fonter, eller en stor mengde distinkte tegn, f.eks. i CJK skrivesystemer

qdoc

er et verktøy som brukes av Qt Utviklere for å generere dokumentasjon for programvareprosjekter

qhelpgenerator

er et verktøy som brukes til å generere en Qt komprimert hjelpefil

qlalr

er et verktøy som brukes til å generere kode fra grammatikkspesifikasjoner

qmake

bruker informasjon som er lagret i prosjektfiler til bestemme hva som skal gå i makefilene det genererer

qml

kjører en QML fil

qmlcachegen

støtter oppretting av cache filer på byggetidspunktet

qmleasing

er et verktøy som brukes til å definere lettelseskurvene ved hjelp av en interaktiv kurveredigerer

qmlformat

formaterer QML-filer i henhold til QML kodingskonvensjonene

qmlimportscanner

er et verktøy som brukes til å importere QML filer fra en mappe

qmllint

er en syntakskontroll for QML filer

qmlmin

fjerner kommentarer og layouttegn fra en QML fil

qmlplugindump

er et verktøy for å lage en qmltypes fil

qmlpreview

er et verktøy som brukes til å analysere QML applikasjoner

qmlprofiler

er et verktøy som ser på QML og JavaScript filer på disk og oppdaterer applikasjonen live med eventuelle endringer

qmlscene

er et verktøy som laster og viser QML dokumenter selv før søknaden er komplett

qmltestrunner

er et verktøy som brukes til å lage tester

qtattributionsscanner

behandler qt_attribution.json filer i Qt kilder

qtdiag

er et verktøy for å rapportere diagnostisk informasjon om Qt og dens miljø

qtpaths

er et verktøy for å spørre Qt baneinformasjon

qtplugininfo

dumper metadata om Qt-plugins i JSON-format

qtwaylandscanner

konverterer Wayland spesifikasjonsfiler til C++ deklarasjoner og kode nødvendig for QtWayland

qvkgen

konverterer Vulkan specfiles til C++ deklarasjoner og kode

rcc

er en ressurskompiler som brukes sammen med designer

syncqt.pl

er et skript for å lage videresendings deklarasjonene i include mapper. Det er et internt utviklingsverktøy

tracegen

er en sporingsgenerator for LTTng eller ETW

uic

er en Qt brukergrensesnitt kompilator