Por que o Ubuntu.Components 0.1 está ausente no QTCreator?


13

Antes de tudo, preciso criar um aplicativo "olá mundo" usando o QML & QT Creator, conforme descrito aqui http://developer.ubuntu.com/get-started/gomobile/

Segundo, quando estava tentando instalar a plataforma QML e as dependências, não consegui executar a etapa 2 (de "Instalar a visualização do kit de ferramentas Ubuntu QML") porque tenho uma distribuição (backbox) baseada no ubuntu 12.04, mas resolvo-a seguindo as instruções desta publicação: /ubuntu/235440/how-do-i-install-the-qml-toolkit-on-12-04

Terceiro, quando abro o QTCreator e tentando executar o CurrencyConverter (aplicativo helloWorld), o programa não consegue encontrar os seguintes pacotes:

import Ubuntu.Components 0.1

O que posso fazer para executar o aplicativo?

desde já, obrigado.

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

Você poderia adicionar mais informações? Como você está realmente executando o aplicativo? O aplicativo é executado se você o executar na linha de comando? Tem certeza de que executou o seguinte bit do comando de instalação na etapa de introdução? echo 'export PATH=/opt/qt5/bin:$PATH' >> ~/.bashrc
precisa saber é o seguinte

oi, sim, claro ... eu apenas copio e colo os comandos. Tem 100% de certeza de que está correto, portanto, a primeira e a segunda etapas estão concluídas. Depois disso, abri o QTCreator e segui as instruções da terceira etapa acima. Quando colo o código acima, a linha "import Ubuntu.Components 0.1" foi destacada e dizia "Módulo QML não encontrado. Caminhos de importação: / usr / lib / qt4 / imports". Observe que não estou usando o ubuntu, mas uma distribuição baseada no ubuntu 12.04. A única diferença é que tem o xfce4 e não a unidade.
CodeArtist

@DavidPlanella Estou no 12.10 e experimentando o mesmo. Copiei + colei os dois comandos e tudo parecia ter corrido bem. No QtCreator com o exemplo - CurrenyConverter.qml: 2: 1: o módulo "Ubuntu.Components" não está instalado (também recebi o mesmo erro no 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, o que você está descrevendo é que acredito em um aviso no Qt Creator, que não deve impedir a execução do código. Conforme perguntado acima, você recebe uma mensagem de erro ao executar seu aplicativo qmlscenena linha de comando, conforme descrito no tutorial? Se sim, qual é a saída exata na linha de comando?
David Planella

@ DavidPlanella, também estou recebendo o mesmo erro e este é o código que estou recebendo do terminal ou do Qt Creator quando concluir a compilação. paste.ubuntu.com/1658717 e estou recebendo a linha vermelha na importação Ubuntu.Components 0.1. O que tenho que fazer agora.
22413

Respostas:


3

Eu descobri a solução pelo menos para o ubuntu 12.04. Eu tive que ir ao site oficial http://qt-project.org/downloads#qt-creator e baixar o pacote mais recente do Qt, que é o Qt 5.0.0.

* Nota : O Ubuntu 12.04 não inclui a versão mais recente do Qt, então você deve fazer o download manualmente.

* Nota : Antes da instalação, removi a versão anterior do QtCreator (2.5.0)

Tudo o que você precisa fazer para instalar o pacote Qt5 é:

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

Em seguida, basta executar o pacote e executar o instalador com as configurações padrão.

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

  • Agora deve existir /opt/qt5/imports/Ubuntu/Componentscaminho, com todas as bibliotecas!

Depois disso, segui as instruções do CurrencyConverter

* Observe que a linha: import Ubuntu.Components 0.1 ainda está destacada com uma linha vermelha, mas o programa é executado normalmente escolhendo Tools > External > Qt Quick > Preview (qmlviewer)(graças a @David Planella)


Essa linha vermelha é perturbadora para um perfeccionista como eu. Alguma maneira de consertar o que está causando isso?
Djentleman

0

Você pode realmente ir para as opções -> compilar e executar -> versões qt (eu tenho a versão em polonês, então tive que traduzi-la novamente para o inglês - desculpe se os nomes são um pouco diferentes). Em seguida, você adicionar mais recente versão do qtque você já instalou - está em /opt/qt5/bin.


0

Se você possui o QT5 instalado corretamente e ainda import Ubuntu.Components 0.1está destacado, faça o seguinte:

  • abrir arquivo .qmlproject (incluído no projeto gerado automaticamente)
  • adicione este texto: importPaths: [ "/opt/qt5/imports" ] antes do último fechamento:}

... e o problema deveria desaparecer.


0

Você provavelmente vai querer executar / construir todas as demos do qt, abrindo os arquivos .pro para exemplos específicos.

chown -R yourusername /opt/qt5/examples/

Quando fui criar o exemplo opengl / textures, abrindo o arquivo textures.pro no qtcreator, ele configurou automaticamente o projeto, mas estava apontando para o QT4 por padrão. Eu recebi um erro estranho que dizia que não era possível encontrar o QtWidgets quando eu estava tentando criar usando o qt4. Com o Qt5 como ferramenta de construção, o problema desapareceu.

Certifique-se de apontar para o QT5 como o projeto criado para depuração / liberação, porque não é o padrão no qtcreator. Caso contrário, você receberá erros estranhos ao construir. É fácil identificar esse problema na saída da compilação, que deve mostrar os caminhos das bibliotecas qt5 include e 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.
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.