Pourquoi Ubuntu.Components 0.1 est absent de QTCreator?


13

Tout d'abord, je dois créer une application "bonjour le monde" en utilisant QML & QT Creator comme décrit ici http://developer.ubuntu.com/get-started/gomobile/

Deuxièmement, lorsque j'essayais d'installer la plate-forme QML et les dépendances, je ne pouvais pas exécuter l'étape 2 (de "Installer l'aperçu de la boîte à outils Ubuntu QML") parce que j'ai une distribution (backbox) basée sur Ubuntu 12.04 mais je la résous en suivant les instructions de cet article: /ubuntu/235440/how-do-i-install-the-qml-toolkit-on-12-04

Troisièmement, lorsque j'ouvre QTCreator et que j'essaie d'exécuter CurrencyConverter (application helloWorld), le programme ne trouve pas les packages suivants:

import Ubuntu.Components 0.1

Que puis-je faire pour exécuter l'application?

Merci d'avance.

import QtQuick 2.0
import Ubuntu.Components 0.1

Rectangle {
    id: root
    width: units.gu(60)
    height: units.gu(80)
    color: "lightgray"

    property real margins: units.gu(2)
    property real buttonWidth: units.gu(9)

    Label {
       id: title
       ItemStyle.class: "title"
       text: i18n.tr("Currency Converter")
       height: contentHeight + root.margins
       anchors {
           left: parent.left
           right: parent.right
           top: parent.top
       }
    }
}

Pourriez-vous s'il vous plaît ajouter plus d'informations? Comment exécutez-vous réellement l'application? L'application s'exécute-t-elle si vous l'exécutez à partir de la ligne de commande? Êtes-vous sûr d'avoir exécuté le bit suivant de la commande d'installation à l'étape de démarrage? echo 'export PATH=/opt/qt5/bin:$PATH' >> ~/.bashrc
David Planella

salut, oui bien sûr ... Je viens de copier et coller les commandes. Est sûr à 100% que c'est correct, donc la première et la deuxième étape sont terminées. Après cela, j'ai ouvert le QTCreator et j'ai suivi les instructions de la troisième étape ci-dessus. Lorsque je colle le code ci-dessus, la ligne "import Ubuntu.Components 0.1" était mise en évidence et disait "Module QML introuvable. Chemins d'importation: / usr / lib / qt4 / imports". Veuillez noter que je n'utilise pas ubuntu mais une distribution basée sur ubuntu 12.04. La seule différence est qu'ils ont xfce4 et non l'unité.
CodeArtist

@DavidPlanella Je suis le 12.10 et je ressens la même chose. J'ai copié + collé les deux commandes et tout semblait bien se passer. Dans QtCreator avec l'exemple - CurrenyConverter.qml: 2: 1: le module "Ubuntu.Components" n'est pas installé (j'ai également eu la même erreur pour QtQuick 2.0). echo $ PATH / opt / qt5 / bin: / usr / lib / lightdm / lightdm: / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games: / usr / local / games
trent

@JorgeCode, ce que vous décrivez est, je crois, un avertissement dans Qt Creator, qui ne devrait pas empêcher l'exécution du code. Comme demandé ci-dessus, obtenez-vous un message d'erreur lorsque vous exécutez votre application à qmlscenepartir de la ligne de commande, comme décrit dans le didacticiel? Si oui, quelle est la sortie exacte sur la ligne de commande?
David Planella

@DavidPlanella, je reçois également la même erreur et c'est le code que je reçois du terminal ou de Qt Creator lorsque j'ai terminé la compilation. paste.ubuntu.com/1658717 et j'obtiens la ligne rouge lors de l'importation Ubuntu.Components 0.1. Ce que je dois faire maintenant.
rɑːdʒɑ

Réponses:


3

J'ai trouvé la solution au moins pour Ubuntu 12.04. J'ai dû aller sur le site officiel http://qt-project.org/downloads#qt-creator et télécharger le dernier paquet Qt qui est Qt 5.0.0.

* Remarque : Ubuntu 12.04 n'inclut pas la dernière version de Qt, vous devez donc la télécharger manuellement.

* Remarque : avant l'installation, j'ai supprimé la version précédente de QtCreator (2.5.0)

Tout ce que vous avez à faire pour installer le package Qt5 est:

  • chmod 755 qt-linux-opensource-5.0.0-x86_64-offline.run

Il vous suffit ensuite d'exécuter le package et d'exécuter le programme d'installation avec les paramètres par défaut.

  • ./qt-linux-opensource-5.0.0-x86_64-offline.run

  • Maintenant devrait exister le /opt/qt5/imports/Ubuntu/Componentschemin, avec toutes les bibliothèques!

Après cela, j'ai suivi les instructions du CurrencyConverter

* Notez que la ligne: import Ubuntu.Components 0.1 est toujours surlignée avec une ligne rouge mais le programme s'exécute normalement en choisissant Tools > External > Qt Quick > Preview (qmlviewer)(grâce à @David Planella)


Cette ligne rouge est distrayante pour un perfectionniste comme moi. Y a-t-il un moyen de réparer ce qui en est la cause?
Djentleman

0

Vous pouvez en fait aller dans les options -> construire et exécuter -> versions qt (j'ai la version polonaise, j'ai donc dû la traduire en anglais - désolé si les noms sont légèrement différents). Ensuite, vous ajoutez la dernière version de qt, que vous avez déjà installée - c'est dans /opt/qt5/bin.


0

Si QT5 est correctement installé et import Ubuntu.Components 0.1est toujours en surbrillance, vous devez le faire:

  • ouvrir le fichier .qmlproject (inclus dans le projet généré automatiquement)
  • ajouter ce texte: importPaths: [ "/opt/qt5/imports" ]avant la dernière fermeture:}

... et le problème devrait disparaître.


0

Vous allez probablement vouloir exécuter / construire toutes les démos qt en ouvrant les fichiers .pro pour les exemples spécifiques.

chown -R yourusername /opt/qt5/examples/

Lorsque je suis allé construire l'exemple opengl / textures en ouvrant le fichier textures.pro dans qtcreator, il a automatiquement configuré le projet MAIS il pointait vers QT4 par défaut. J'ai eu une étrange erreur qui m'a dit qu'il ne pouvait pas trouver QtWidgets lorsque j'essayais de construire en utilisant qt4. Avec Qt5 comme outil de construction, le problème a disparu.

ASSUREZ-VOUS DE POINT SUR QT5 en tant que construction de projet pour le débogage / version car ce n'est pas la valeur par défaut dans qtcreator. Sinon, vous obtiendrez des erreurs étranges lors de la construction. Ce problème est facile à repérer dans la sortie de la compilation qui devrait afficher les chemins d'accès aux bibliothèques qt5 include et qt5.

2:58:51: Running steps for project textures...
12:58:51: Starting: "/usr/bin/make" clean -w
make: Entering directory `/opt/qt5/examples/qtbase/opengl/textures-build-Desktop Release'
rm -f qrc_textures.cpp
rm -f moc_glwidget.cpp moc_window.cpp
rm -f glwidget.o main.o window.o qrc_textures.o moc_glwidget.o moc_window.o
rm -f *~ core *.core
make: Leaving directory `/opt/qt5/examples/qtbase/opengl/textures-build-Desktop-Release'
12:58:52: The process "/usr/bin/make" exited normally.
12:58:52: Configuration unchanged, skipping qmake step.
12:58:52: Starting: "/usr/bin/make" -w
make: Entering directory `/opt/qt5/examples/qtbase/opengl/textures-build-Desktop-Release'
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../mkspecs/linux-g++-64 -I../textures -I../../../../include -I../../../../include/QtOpenGL -I../../../../include/QtWidgets -I../../../../include/QtGui -I../../../../include/QtCore -I. -I. -o glwidget.o ../textures/glwidget.cpp
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../mkspecs/linux-g++-64 -I../textures -I../../../../include -I../../../../include/QtOpenGL -I../../../../include/QtWidgets -I../../../../include/QtGui -I../../../../include/QtCore -I. -I. -o main.o ../textures/main.cpp
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../mkspecs/linux-g++-64 -I../textures -I../../../../include -I../../../../include/QtOpenGL -I../../../../include/QtWidgets -I../../../../include/QtGui -I../../../../include/QtCore -I. -I. -o window.o ../textures/window.cpp
/opt/qt5/bin/rcc -name textures ../textures/textures.qrc -o qrc_textures.cpp
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../mkspecs/linux-g++-64 -I../textures -I../../../../include -I../../../../include/QtOpenGL -I../../../../include/QtWidgets -I../../../../include/QtGui -I../../../../include/QtCore -I. -I. -o qrc_textures.o qrc_textures.cpp
/opt/qt5/bin/moc -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../mkspecs/linux-g++-64 -I../textures -I../../../../include -I../../../../include/QtOpenGL -I../../../../include/QtWidgets -I../../../../include/QtGui -I../../../../include/QtCore -I. -I. ../textures/glwidget.h -o moc_glwidget.cpp
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../mkspecs/linux-g++-64 -I../textures -I../../../../include -I../../../../include/QtOpenGL -I../../../../include/QtWidgets -I../../../../include/QtGui -I../../../../include/QtCore -I. -I. -o moc_glwidget.o moc_glwidget.cpp
/opt/qt5/bin/moc -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../mkspecs/linux-g++-64 -I../textures -I../../../../include -I../../../../include/QtOpenGL -I../../../../include/QtWidgets -I../../../../include/QtGui -I../../../../include/QtCore -I. -I. ../textures/window.h -o moc_window.cpp
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../mkspecs/linux-g++-64 -I../textures -I../../../../include -I../../../../include/QtOpenGL -I../../../../include/QtWidgets -I../../../../include/QtGui -I../../../../include/QtCore -I. -I. -o moc_window.o moc_window.cpp
g++ -m64 -Wl,-O1 -Wl,-rpath,/opt/qt5/lib -o textures glwidget.o main.o window.o qrc_textures.o moc_glwidget.o moc_window.o   -L/usr/X11R6/lib64 -L/opt/qt5/lib -lQtOpenGL -lQtWidgets -lQtGui -lQtCore -lGL -lpthread 
make: Leaving directory `/opt/qt5/examples/qtbase/opengl/textures-build-Desktop-Release'
12:58:57: The process "/usr/bin/make" exited normally.
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.