Чому Ubuntu.Components 0.1 відсутній у QTCreator?


13

Перш за все мені потрібно створити додаток "привіт світ" за допомогою QML & QT Creator, як описано тут http://developer.ubuntu.com/get-started/gomobile/

По-друге, коли я намагався встановити QML-платформу та залежності, я не міг запустити крок 2 («Встановлення попереднього перегляду інструментарію Ubuntu QML»), оскільки у мене є дистрибутив (backbox) на основі ubuntu 12.04, але я вирішую його, дотримуючись інструкції цього допису: /ubuntu/235440/how-do-i-install-the-qml-toolkit-on-12-04

По-третє, коли я відкриваю QTCreator і намагаюся виконати CurrencyConverter (додаток helloWorld), програма не може знайти такі пакети:

import Ubuntu.Components 0.1

Що я можу зробити для запуску програми?

Заздалегідь спасибі.

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

Не могли б ви додати більше інформації? Як ви насправді виконуєте додаток? Чи запускається програма, якщо ви виконуєте її з командного рядка? Ви впевнені, що виконали наступний біт команди встановлення на кроці початку роботи? echo 'export PATH=/opt/qt5/bin:$PATH' >> ~/.bashrc
Девід Планелла

привіт, так, звичайно ... Я просто копіюю і вставляю команди. На 100% впевнений, що це правильно, тому перший і другий крок зроблені. Після цього я відкрив QTCreator, і я дотримувався вказівок третього кроку вище. Коли я вставляю вищезгаданий код, було виділено рядок "імпортувати Ubuntu.Components 0.1", і він говорив "Модуль QML не знайдений. Імпортні шляхи: / usr / lib / qt4 / import". Зверніть увагу, я не використовую ubuntu, а дистрибутив, заснований на ubuntu 12.04. Єдина відмінність - xfce4, а не єдність.
CodeArtist

@DavidPlanella Я на 12.10 і переживаю те саме. Я скопіював + вставив обидві команди і, здавалося, все пішло нормально. У QtCreator з прикладом - CurrenyConverter.qml: 2: 1: модуль "Ubuntu.Components" не встановлений (я також отримав ту саму помилку для 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 / ігри: / usr / local / games
trent

@JorgeCode, те, що ви описуєте, я вважаю попередженням у Qt Creator, яке не повинно зупиняти роботу коду. Як було запропоновано вище, чи отримуєте ви повідомлення про помилку під час запуску програми з qmlsceneкомандного рядка, як описано в підручнику? Якщо так, точний вихід у командному рядку?
Девід Планелла

@DavidPlanella, я також отримую ту саму помилку, і це код, який я отримую від терміналу або Qt Creator, коли закінчую компіляцію. paste.ubuntu.com/1658717, і я отримую червону лінію при імпорті Ubuntu.Components 0.1. Що мені зараз робити.
rɑːdʒɑ

Відповіді:


3

Я знайшов рішення принаймні для ubuntu 12.04. Мені довелося зайти на офіційний сайт http://qt-project.org/downloads#qt-creator і завантажити останній пакет Qt, який є Qt 5.0.0.

* Примітка : Ubuntu 12.04 не містить останню версію Qt, тому її потрібно завантажити вручну.

* Примітка : перед встановленням я видалив попередню версію QtCreator (2.5.0)

Все, що вам потрібно зробити, щоб встановити пакет Qt5, це:

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

Потім просто виконайте пакет і запустіть інсталятор із налаштуваннями за замовчуванням.

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

  • Тепер має існувати /opt/qt5/imports/Ubuntu/Componentsшлях із усіма бібліотеками!

Після цього я дотримувався вказівок CurrencyConverter

* Зауважте, що рядок: import Ubuntu.Components 0.1 все ще виділяється червоною лінією, але програма працює нормально, вибравши Tools > External > Qt Quick > Preview (qmlviewer)(завдяки @David Planella)


Ця червона лінія відволікає перфекціоніста, як я. Будь-який спосіб виправити все, що це викликає?
Дженнтман

0

Насправді можна перейти до параметрів -> build and run -> qt-версії (у мене є польська версія, тому мені довелося перекласти її назад на англійську - вибачте, якщо імена дещо інші). Потім ви додаєте останню версію qt, яку ви вже встановили - вона в /opt/qt5/bin.


0

Якщо у вас QT5 належним чином встановлений і все import Ubuntu.Components 0.1ще виділено, слід зробити це:

  • відкрити .qmlproject файл (включений в автоматично створений проект)
  • додати цей текст: importPaths: [ "/opt/qt5/imports" ]до останнього закриття:}

... і проблема повинна піти.


0

Ви, ймовірно, захочете запустити / скласти всі демонстрації qt, відкривши файли .pro для конкретних прикладів.

chown -R yourusername /opt/qt5/examples/

Коли я пішов будувати приклад opengl / textures, відкриваючи файл textures.pro в qtcreator, він автоматично конфігурував проект, Але він вказував на QT4 за замовчуванням. У мене з’явилася дивна помилка, яка сказала, що не можу знайти QtWidgets, коли я намагався створити за допомогою qt4. З Qt5 як інструментом збирання проблема усунулася.

Впевнено переконайтесь, що ви вказуєте на QT5 як збірку проекту для налагодження / випуску, оскільки це не є типовим у qtcreator. Інакше ви отримаєте дивні помилки під час будівництва. Цю проблему легко помітити у висновку компіляції, який повинен показувати шляхи qt5 include і 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.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.