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

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

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

其次,当我尝试安装 QML 平台和依赖项时,我无法运行第 2 步(“安装 Ubuntu QML 工具包预览”),因为我有一个基于 ubuntu 12.04 的发行版(backbox),但我按照这篇文章的说明解决了它: https://askubuntu.com/questions/235440/how-do-i-install-the-qml-toolkit-on-12-04

第三,当我打开 QTCreator 并尝试执行货币换算(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
       }
    }
}

答案1

我至少找到了针对 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路径,包含所有的库!

之后我按照货币换算

*笔记该行: import Ubuntu.Components 0.1 仍然用红线突出显示,但通过选择程序可以正常运行 Tools > External > Qt Quick > Preview (qmlviewer)(感谢@David Planella)

答案2

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

答案3

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

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

...问题就解决了。

答案4

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

chown -R yourusername /opt/qt5/examples/

当我通过打开 qtcreator 中的 Textures.pro 文件来构建 opengl/textures 示例时,它会自动配置项目,但默认情况下它指向 QT4。当我尝试使用 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.

相关内容