Puncte:1

[QT][QML] Nu pot folosi QTLocation și QTPpositioning în vizualizarea mea QML

drapel es

în proiectul meu QT/QML creat cu QT 6.1 și sistemul de operare Ubuntu 20.04, aș folosi QTMapView. Pentru a face acest lucru, am încercat să instalez QTLocation și QTPition folosind următoarea comandă:

sudo apt install qml-module-qtlocation qml-module-qtpositioning

După cum se sugerează din următorul subiect:

QtLocation și QtPositioning nu sunt instalate

După aceea, am încercat să import în vizualizarea mea QML QTLocation și QTPposition cu următorul cod

import QtLocation 5.12
import QtPositioning 5.12

Dar primesc un mesaj „QML Module not found” pentru ambele importuri.

Mai jos, puteți găsi și fișierul CMakeLists.txt al proiectului:

cmake_minimum_required(VERSIUNEA 3.14)

proiect(myapp VERSIUNEA 0.1 LIMBURI CXX)

set(CMAKE_INCLUDE_CURRENT_DIR ON)

setat(CMAKE_AUTOUIC ACTIVAT)
setat(CMAKE_AUTOMOC ACTIVAT)
setat(CMAKE_AUTORCC ACTIVAT)

set(CMAKE_CXX_STANDARD 17)
setat(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(NOME QT Qt6 COMPONENTE Core Quick NECESARĂ)
find_package(Qt6 COMPONENTS Core Quick NECESARĂ)

set(CMAKE_EXPORT_COMPILE_COMMANDS 1)

set(PROJECT_SOURCES
        principal.cpp
        qml.qrc
        imagini.qrc
)

qt_add_executable(myapp
    FINALIZARE_MANUALĂ
    ${PROJECT_SOURCES}
)

target_compile_definitions(myapp
  PRIVAT $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>)
target_link_libraries(myapp
  PRIVAT Qt6::Core Qt6::Quick)

set_target_properties(propietățile aplicației mele
    QT_QML_MODULE_VERSION 1.0
    QT_QML_MODULE_URI com.my.myapp
)

listă (APPEND QML_IMPORT_PATH .)

qt6_qml_type_registration(aplicația mea)
qt_import_qml_plugins(myapp)
qt_finalize_executable(myapp)

Am omis ceva? Cum pot rezolva problema și pot importa corect componentele hărții? Mulțumesc foarte mult; Am incercat sa fiu cat mai detaliat posibil dar daca aveti nevoie de alte informatii nu ezitati sa ma intrebati.

Puncte:1
drapel zw

Creați probleme suplimentare utilizând Qt 6.1 pe Ubuntu 20.04 LTS. Această versiune include Qt 5.12.Viitorul tuturor Qt 6 este neclar atât pentru Debian, cât și pentru Ubuntu.

Deci, deschideți terminalul și instalați pachetele de dezvoltare necesare pentru Qt din oficial repertoriu:

sudo apt-get install qtlocation5-dev qtpositioning5-dev

și apoi compilați aplicația dvs., posibil grozavă.

Archimede avatar
drapel es
În primul rând, mulțumesc pentru răspuns; Am încercat toți pașii tăi, am instalat și versiunea 5 și totul funcționează; dar problema este că, pentru proiectul meu actual, ar trebui să folosesc QT6. Dar am o întrebare, în ce sens este neclar viitorul QT 6? Sunt ingrijorat; vrei sa spui ca proiectul ar putea fi abandonat sau ca este instabil? Dacă ai începe acum un nou proiect mare, ce versiune ai folosi?
N0rbert avatar
drapel zw
În prezent, Qt6 nu este menținut în Debian. Aceasta înseamnă că viitorul Qt6 este neclar. Dacă intenționați să vă expediați aplicația în Ubuntu și Debian, trebuie să alegeți versiunea Qt acceptată - în Ubuntu 20.04 LTS este 5.12, în Debian nu puteți obține versiunea Qt mai mare [decat 5.15](https://packages.debian. org/search?suite=all&section=all&arch=any&searchon=names&keywords=qt+base+dev). Dacă intenționați să îl dezvoltați ca AppImage, puteți utiliza Qt6 fără îndoială, IMHO.
Archimede avatar
drapel es
Ah ok, acum am inteles. În afară de sistemul de operare (aș putea alege oricare, și Mac/Win), dacă ai începe acum un proiect mare, ce versiune ai folosi? Mulțumiri!
N0rbert avatar
drapel zw
Cel mai recent matur și stabil, ceva de genul 5.x.
Archimede avatar
drapel es
OK multumesc foarte mult!

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.