¿Por qué falta Ubuntu.Components 0.1 en QTCreator?


13

En primer lugar, necesito crear una aplicación "hello world" usando QML & QT Creator como se describe aquí http://developer.ubuntu.com/get-started/gomobile/

En segundo lugar, cuando intentaba instalar la plataforma QML y las dependencias, no pude ejecutar el paso 2 ("Instalar la vista previa del kit de herramientas QML de Ubuntu") porque tengo una distribución (backbox) basada en ubuntu 12.04, pero la resuelvo siguiendo Las instrucciones de esta publicación: /ubuntu/235440/how-do-i-install-the-qml-toolkit-on-12-04

Tercero, cuando abro QTCreator e intento ejecutar CurrencyConverter (aplicación helloWorld), el programa no puede encontrar los siguientes paquetes:

import Ubuntu.Components 0.1

¿Qué puedo hacer para ejecutar la aplicación?

gracias por adelantado.

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

¿Podría por favor agregar más información? ¿Cómo estás ejecutando realmente la aplicación? ¿Se ejecuta la aplicación si la ejecuta desde la línea de comandos? ¿Está seguro de que ejecutó el siguiente bit del comando de instalación en el paso de inicio? echo 'export PATH=/opt/qt5/bin:$PATH' >> ~/.bashrc
David Planella

Hola, sí, por supuesto ... Acabo de copiar y pegar los comandos. Es 100% seguro de que es correcto, por lo que se realiza el primer y el segundo paso. Después de eso abrí el QTCreator y seguí las instrucciones del tercer paso anterior. Cuando pegué el código anterior, la línea "import Ubuntu.Components 0.1" se destacó y decía "Módulo QML no encontrado. Rutas de importación: / usr / lib / qt4 / imports". Tenga en cuenta que no estoy usando ubuntu sino una distribución basada en ubuntu 12.04. La única diferencia es que tiene xfce4 y no unidad.
CodeArtist

@DavidPlanella Estoy en 12.10 y estoy experimentando lo mismo. Copié + pegué ambos comandos y todo parecía haber salido bien. En QtCreator con el ejemplo - CurrenyConverter.qml: 2: 1: el módulo "Ubuntu.Components" no está instalado (también recibí el mismo error para 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, lo que estás describiendo es que creo una advertencia en Qt Creator, que no debería detener la ejecución del código. Como se preguntó anteriormente, ¿recibe un mensaje de error cuando ejecuta su aplicación qmlscenedesde la línea de comandos, como se describe en el tutorial? Si es así, ¿cuál es el resultado exacto en la línea de comando?
David Planella

@DavidPlanella, también recibo el mismo error y este es el código que obtengo del terminal o Qt Creator cuando he terminado de compilar. paste.ubuntu.com/1658717 y obtengo la línea roja al importar Ubuntu.Components 0.1. Que tengo que hacer ahora.
rɑːdʒɑ

Respuestas:


3

Descubrí la solución al menos para ubuntu 12.04. Tuve que ir al sitio oficial http://qt-project.org/downloads#qt-creator y descargar el último paquete Qt que es Qt 5.0.0.

* Nota : Ubuntu 12.04 no incluye la última versión de Qt, por lo que debe descargarla manualmente.

* Nota : Antes de la instalación, eliminé la versión anterior de QtCreator (2.5.0)

Todo lo que tiene que hacer para instalar el paquete Qt5 es:

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

Luego, simplemente ejecute el paquete y ejecute el instalador con la configuración predeterminada.

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

  • Ahora debe existir /opt/qt5/imports/Ubuntu/Componentsruta, con todas las bibliotecas!

Después de eso, seguí las instrucciones del Conversor de divisas

* Tenga en cuenta que la línea: import Ubuntu.Components 0.1 todavía está resaltada con una línea roja, pero el programa se ejecuta normalmente al elegir Tools > External > Qt Quick > Preview (qmlviewer)(gracias a @David Planella)


Esa línea roja distrae a un perfeccionista como yo. ¿Alguna forma de arreglar lo que sea que lo esté causando?
Djentleman

0

En realidad, puede ir a opciones -> compilar y ejecutar -> versiones qt (tengo la versión en polaco, así que tuve que traducirla de nuevo al inglés; perdón si los nombres son ligeramente diferentes). Luego agrega la última versión de qt, que ya ha instalado, está en /opt/qt5/bin.


0

Si tiene QT5 instalado correctamente y todavía import Ubuntu.Components 0.1está resaltado, debe hacer esto:

  • Abra el archivo de proyecto .qml (incluido en el proyecto generado automáticamente)
  • agregue este texto: importPaths: [ "/opt/qt5/imports" ]antes del último cierre:}

... y el problema debería desaparecer.


0

Probablemente querrá ejecutar / compilar todas las demostraciones de qt abriendo los archivos .pro para los ejemplos específicos.

chown -R yourusername /opt/qt5/examples/

Cuando fui a construir el ejemplo opengl / textures abriendo el archivo textures.pro dentro de qtcreator, configuró automáticamente el proyecto PERO apuntaba a QT4 de forma predeterminada. Recibí un extraño error que decía que no podía encontrar QtWidgets cuando intentaba construir usando qt4. Con Qt5 como herramienta de compilación, el problema desapareció.

ASEGÚRESE DE QUE SEÑALA QT5 como la compilación del proyecto para depurar / liberar porque no es el valor predeterminado en qtcreator. De lo contrario, obtendrá errores extraños al construir. Este problema es fácil de detectar en la salida de compilación que debería mostrar las rutas qt5 include y 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.
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.