为什么QTCreator中缺少Ubuntu.Components 0.1?


13

首先,我需要使用QML和QT Creator创建一个“ hello world”应用程序,如此处所述 http://developer.ubuntu.com/get-started/gomobile/

其次,当我尝试安装QML平台和依赖项时,我无法运行第2步(“安装Ubuntu QML工具包预览”),因为我有一个基于ubuntu 12.04的发行版(后备箱),但我可以通过以下方法解决这篇文章的说明:https : //askubuntu.com/questions/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
David Planella

嗨,当然可以。我只是复制并粘贴命令。100%确定这是正确的,因此第一步和第二步都已完成。之后,我打开了QTCreator,然后按照上面第三步的说明进行操作。当我粘贴上面的代码时,突出显示了“导入Ubuntu.Components 0.1”行,并说“找不到QML模块。导入路径:/ usr / lib / qt4 / imports”。请注意,我不是使用ubuntu,而是基于ubuntu 12.04的发行版。唯一的区别是具有xfce4而不是统一的。
CodeArtist 2013年

@DavidPlanella我在12.10上,并且遇到了同样的情况。我复制并粘贴了两个命令,一切似乎都正常了。在带有示例的QtCreator中-CurrenyConverter.qml:2:1:未安装模块“ Ubuntu.Components”(对于QtQuick 2.0也有相同的错误)。回声$ 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,您所描述的是我相信Qt Creator中的警告,它不应阻止代码运行。如上所述qmlscene,如本教程中所述,从命令行运行应用程序时会收到错误消息吗?如果是这样,命令行上的确切输出是什么?
David Planella

@DavidPlanella,我也遇到同样的错误,这是我完成编译后从终端或Qt Creator获得的代码。paste.ubuntu.com/1658717,我在导入Ubuntu.Components 0.1时出现了红线。我现在要做的。
rɑːdʒɑ

Answers:


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)


红线吸引了像我这样的完美主义者。有什么办法可以解决导致它的问题吗?
Djentleman

0

您实际上可以转到选项->构建并运行-> qt版本(我有波兰语版本,所以我不得不将其翻译回英文-如果名称略有不同,请抱歉)。然后,您添加qt已安装的最新版本-位于中/opt/qt5/bin


0

如果您已正确安装QT5并仍然import Ubuntu.Components 0.1突出显示,则应执行以下操作:

  • 打开.qmlproject文件(包含在自动生成的项目中)
  • 添加此文本: importPaths: [ "/opt/qt5/imports" ]最后关闭之前:}

...问题应该消失了。


0

您可能想要通过打开特定示例的.pro文件来运行/构建所有qt演示。

chown -R yourusername /opt/qt5/examples/

当我通过在qtcreator中打开textures.pro文件来构建opengl / textures示例时,它会自动配置默认情况下指向QT4的项目BUT。我遇到一个奇怪的错误,当我尝试使用qt4进行构建时,它找不到QtWidgets。使用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.
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.