Dlaczego w QTCreator brakuje Ubuntu.Components 0.1?


13

Przede wszystkim muszę utworzyć aplikację „hello world” przy użyciu QML & QT Creator, jak opisano tutaj http://developer.ubuntu.com/get-started/gomobile/

Po drugie, kiedy próbowałem zainstalować platformę QML i zależności, nie mogłem uruchomić kroku 2 („Zainstaluj podgląd zestawu narzędzi Ubuntu QML”), ponieważ mam dystrybucję (backbox) opartą na Ubuntu 12.04, ale rozwiązuję ją, wykonując następujące czynności instrukcje tego posta: /ubuntu/235440/how-do-i-install-the-qml-toolkit-on-12-04

Po trzecie, kiedy otwieram QTCreator i próbuję uruchomić CurrencyConverter (aplikacja helloWorld), program nie może znaleźć następujących pakietów:

import Ubuntu.Components 0.1

Co mogę zrobić, aby uruchomić aplikację?

z góry dziękuję.

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

Czy możesz dodać więcej informacji? Jak faktycznie wykonujesz aplikację? Czy aplikacja działa, jeśli uruchomisz ją z wiersza poleceń? Czy na pewno uruchomiłeś następujący fragment polecenia instalacji w kroku rozpoczęcia? echo 'export PATH=/opt/qt5/bin:$PATH' >> ~/.bashrc
David Planella

cześć, tak, oczywiście ... Po prostu kopiuję i wklejam polecenia. Jest w 100% pewien, że jest to poprawne, więc pierwszy i drugi krok zostały wykonane. Następnie otworzyłem QTCreator i postępowałem zgodnie z instrukcjami z trzeciego kroku powyżej. Kiedy wklejam powyższy kod, linia „import Ubuntu.Components 0.1” została podświetlona i mówiła „Moduł QML nie został znaleziony. Ścieżki importu: / usr / lib / qt4 / import”. Uwaga: nie używam Ubuntu, ale dystrybucji opartej na Ubuntu 12.04. Jedyną różnicą jest to, że mają xfce4, a nie jedność.
CodeArtist

@DavidPlanella Mam 12.10 i doświadczam tego samego. Skopiowałem + wkleiłem oba polecenia i wszystko poszło dobrze. W QtCreator z przykładem - CurrenyConverter.qml: 2: 1: moduł „Ubuntu.Components” nie jest zainstalowany (dostałem również ten sam błąd dla 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, to co opisujesz to wierzę ostrzeżenie w Qt Creator, które nie powinno zatrzymać działania kodu. Jak wspomniano powyżej, czy pojawia się komunikat o błędzie po uruchomieniu aplikacji z qmlscenepoziomu wiersza poleceń, zgodnie z opisem w samouczku? Jeśli tak, jakie są dokładne dane wyjściowe w wierszu poleceń?
David Planella

@DavidPlanella, dostaję również ten sam błąd i to jest kod, który otrzymuję z terminala lub Qt Creatora po zakończeniu kompilacji. paste.ubuntu.com/1658717 i otrzymuję czerwoną linię na import Ubuntu.Components 0.1. Co mam teraz zrobić?
rɑːdʒɑ

Odpowiedzi:


3

Znalazłem rozwiązanie przynajmniej dla Ubuntu 12.04. Musiałem przejść na oficjalną stronę http://qt-project.org/downloads#qt-creator i pobrać najnowszy pakiet Qt, czyli Qt 5.0.0.

* Uwaga : Ubuntu 12.04 nie zawiera najnowszej wersji Qt, więc musisz pobrać ją ręcznie.

* Uwaga : przed instalacją usunąłem poprzednią wersję QtCreator (2.5.0)

Wszystko, co musisz zrobić, aby zainstalować pakiet Qt5, to:

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

Następnie po prostu uruchom pakiet i uruchom instalator z ustawieniami domyślnymi.

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

  • Teraz powinna istnieć /opt/qt5/imports/Ubuntu/Componentsścieżka ze wszystkimi bibliotekami!

Następnie postępowałem zgodnie z instrukcjami CurrencyConverter

* Uwaga : linia: import Ubuntu.Components 0.1 jest nadal podświetlona czerwoną linią, ale program działa normalnie, wybierając Tools > External > Qt Quick > Preview (qmlviewer)(dzięki @David Planella)


Ta czerwona linia odwraca uwagę perfekcjonisty takiej jak ja. Jest jakiś sposób, aby naprawić to, co go powoduje?
Djentleman

0

Możesz przejść do opcji -> buduj i uruchamiaj -> wersje qt (mam wersję polską, więc musiałem przetłumaczyć ją z powrotem na angielski - przepraszam, jeśli nazwy są nieco inne). Następnie dodajesz najnowszą wersję qt, którą już zainstalowałeś - jest w /opt/qt5/bin.


0

Jeśli masz poprawnie zainstalowany QT5 i nadal import Ubuntu.Components 0.1jest podświetlony, powinieneś to zrobić:

  • otwórz plik .qmlproject (zawarty w automatycznie generowanym projekcie)
  • dodaj ten tekst: importPaths: [ "/opt/qt5/imports" ]przed ostatnim zamknięciem:}

... i problem powinien zniknąć.


0

Prawdopodobnie będziesz chciał uruchomić / skompilować wszystkie wersje demo, otwierając pliki .pro dla konkretnych przykładów.

chown -R yourusername /opt/qt5/examples/

Kiedy poszedłem zbudować przykład opengl / textures, otwierając plik textures.pro w qtcreator, automatycznie skonfigurował projekt, ALE domyślnie wskazywał na QT4. Wystąpił dziwny błąd, który powiedział, że nie można znaleźć QtWidgets, gdy próbowałem budować przy użyciu qt4. Z Qt5 jako narzędziem kompilacji problem zniknął.

UPEWNIJ SIĘ, ŻE PUNKTUJESZ DO QT5 jako kompilacji projektu do debugowania / wydania, ponieważ nie jest to domyślna wersja qtcreatora. W przeciwnym razie podczas budowania pojawią się dziwne błędy. Ten problem jest łatwy do zauważenia w wynikach kompilacji, które powinny pokazywać ścieżki dołączania qt5 i biblioteki lib 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.
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.