Perché Ubuntu.Components 0.1 manca da QTCreator?


13

Prima di tutto ho bisogno di creare un'app "ciao mondo" usando QML e QT Creator come descritto qui http://developer.ubuntu.com/get-started/gomobile/

In secondo luogo, quando stavo provando a installare la piattaforma QML e le dipendenze non ho potuto eseguire il passaggio 2 (di "Installa l'anteprima del toolkit di Ubuntu QML") perché ho una distro (backbox) basata su Ubuntu 12.04 ma lo risolvo seguendo le istruzioni di questo post: /ubuntu/235440/how-do-i-install-the-qml-toolkit-on-12-04

In terzo luogo, quando apro QTCreator e provo ad eseguire CurrencyConverter (app helloWorld) il programma non riesce a trovare i seguenti pacchetti:

import Ubuntu.Components 0.1

Cosa posso fare per eseguire l'app?

Grazie in anticipo.

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
       }
    }
}

Potresti aggiungere ulteriori informazioni? Come stai effettivamente eseguendo l'app? L'app viene eseguita se la esegui dalla riga di comando? Sei sicuro di aver eseguito il seguente bit del comando di installazione nel passaggio iniziale? echo 'export PATH=/opt/qt5/bin:$PATH' >> ~/.bashrc
David Planella,

ciao, sì, certo ... ho appena copiato e incollato i comandi. È sicuro al 100% che sia corretto, quindi vengono eseguiti il ​​primo e il secondo passaggio. Successivamente ho aperto QTCreator e ho seguito le istruzioni del terzo passaggio sopra. Quando ho incollato il codice sopra, la riga "import Ubuntu.Components 0.1" è stata evidenziata e diceva "Modulo QML non trovato. Percorsi di importazione: / usr / lib / qt4 / imports". Nota che non sto usando Ubuntu ma una distribuzione basata su Ubuntu 12.04. L'unica differenza è che hanno xfce4 e non l'unità.
CodeArtist

@DavidPlanella Sono il 12.10 e sto vivendo lo stesso. Ho copiato + incollato entrambi i comandi e tutto sembrava essere andato bene. In QtCreator con l'esempio - CurrenyConverter.qml: 2: 1: il modulo "Ubuntu.Components" non è installato (ho anche ottenuto lo stesso errore per 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
Trento

@JorgeCode, quello che stai descrivendo è un avviso in Qt Creator, che non dovrebbe impedire l'esecuzione del codice. Come chiesto sopra, viene visualizzato un messaggio di errore quando si esegue l'app qmlscenedalla riga di comando, come descritto nel tutorial? In tal caso, qual è l'output esatto sulla riga di comando?
David Planella,

@DavidPlanella, sto ricevendo anche lo stesso errore e questo è il codice che sto ricevendo dal terminale o da Qt Creator quando ho completato la compilazione. paste.ubuntu.com/1658717 e sto ottenendo la linea rossa all'importazione Ubuntu.Components 0.1. Cosa devo fare ora.
1313

Risposte:


3

Ho scoperto la soluzione almeno per Ubuntu 12.04. Ho dovuto visitare il sito ufficiale http://qt-project.org/downloads#qt-creator e scaricare l'ultimo pacchetto Qt che è Qt 5.0.0.

* Nota : Ubuntu 12.04 non include l'ultima versione di Qt, quindi è necessario scaricarla manualmente.

* Nota : prima dell'installazione ho rimosso la versione precedente di QtCreator (2.5.0)

Tutto ciò che devi fare per installare il pacchetto Qt5 è:

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

Quindi esegui il pacchetto ed esegui il programma di installazione con le impostazioni predefinite.

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

  • Ora dovrebbe esistere il /opt/qt5/imports/Ubuntu/Componentspercorso, con tutte le librerie!

Successivamente ho seguito le istruzioni di CurrencyConverter

* Nota che linea: import Ubuntu.Components 0.1 è ancora evidenziata con una linea rossa ma il programma funziona normalmente scegliendo Tools > External > Qt Quick > Preview (qmlviewer)(grazie a @David Planella)


Quella linea rossa è fonte di distrazione per un perfezionista come me. Un modo per risolvere qualunque cosa lo stia causando?
Djentleman,

0

Puoi effettivamente andare su opzioni -> build ed esecuzione -> versioni qt (ho una versione polacca, quindi ho dovuto tradurla in inglese - scusami se i nomi sono leggermente diversi). Quindi aggiungi l'ultima versione di qt, che hai già installato - è dentro /opt/qt5/bin.


0

Se QT5 è installato correttamente e continua a import Ubuntu.Components 0.1essere evidenziato, è necessario:

  • apri il file .qmlproject (incluso nel progetto generato automaticamente)
  • aggiungi questo testo: importPaths: [ "/opt/qt5/imports" ]prima dell'ultima chiusura:}

... e il problema dovrebbe andare.


0

Probabilmente vorrai eseguire / creare tutte le demo di qt aprendo i file .pro per gli esempi specifici.

chown -R yourusername /opt/qt5/examples/

Quando sono andato a creare l'esempio opengl / textures aprendo il file textures.pro in qtcreator, ha configurato automaticamente il progetto MA puntava a QT4 per impostazione predefinita. Ho avuto uno strano errore che diceva che non riuscivo a trovare QtWidgets quando stavo provando a compilare usando qt4. Con Qt5 come strumento di compilazione, il problema è scomparso.

ASSICURATI DI PUNTARE A QT5 come build del progetto per il debug / rilascio perché non è l'impostazione predefinita in qtcreator. Altrimenti otterrai strani errori durante la costruzione. Questo problema è facile da individuare nell'output della compilazione che dovrebbe mostrare i percorsi libs qt5 include e qt5 libs.

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.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.