无法安装 qt-components-ubuntu 因为我使用的是 QT 5.0.0 的完整版本

Mig*_*Wok 7 application-development qml ubuntu-touch

看来,由于我没有从 ppa 安装 beta1 版本的 QT5,所以我无法使用 Ubuntu 组件包。我已经发布了 QT5 版本,现在对安装测试版不感兴趣。有解决方法吗?

The following packages have unmet dependencies:
qt-components-ubuntu : Depends: qtbase but it is not installable
                       Depends: qtdeclarative but it is not installable
Run Code Online (Sandbox Code Playgroud)

安装预览工具包的说明在这里。我跳过了安装 QT5 的步骤,因为我已经直接从 qt-project.org 获得了更新版本。

kic*_*omy 7

这些指令在 Ubuntu 12.04、Ubuntu 12.10 32 位和 64 位上进行了测试。

首先,我们需要安装一些依赖项。即使您已经安装了 Qt5,也要安装这些:

sudo apt-get install build-essential libgtk2.0-dev libgl1-mesa-dev
Run Code Online (Sandbox Code Playgroud)

如果您还没有,请从http://qt-project.org/downloads下载并安装 QtSDK 。

对于 Ubuntu 64 位运行:

cd ~
wget http://releases.qt-project.org/qt5/5.0.0/qt-linux-opensource-5.0.0-x86_64-offline.run
mv qt-linux-opensource-5.0.0-x86_64-offline.run qt5-installer.run
Run Code Online (Sandbox Code Playgroud)

对于 Ubuntu 32 位运行:

cd ~
wget http://releases.qt-project.org/qt5/5.0.0/qt-linux-opensource-5.0.0-x86-offline.run
mv qt-linux-opensource-5.0.0-x86-offline.run qt5-installer.run
Run Code Online (Sandbox Code Playgroud)

然后使其可执行:

chmod +x qt5-installer.run
Run Code Online (Sandbox Code Playgroud)

现在以 root 身份运行它以将其安装到 /opt:

sudo ./qt5-installer.run
Run Code Online (Sandbox Code Playgroud)

按照提示进行操作,并在询问安装位置时选择 /opt/QtSDK。从现在开始,我将假设您已将其安装到该位置,如果您已将 Qt 安装到其他位置,请调整步骤以反映您的安装。

安装后我建议你删除 QtCreator 配置文件夹,因为权限错误。QtCreator 将在重新启动时重新创建它们。

cd ~/.config
sudo rm -rf QtProject
Run Code Online (Sandbox Code Playgroud)

现在对于 Qt Ubuntu 组件,下载源文件并解压:

wget https://launchpad.net/~ui-toolkit/+archive/ppa/+files/qt-components-ubuntu_0.1.24%7Equantal1.tar.gz
tar -zxvf qt-components-ubuntu_0.1.24~quantal1.tar.gz
Run Code Online (Sandbox Code Playgroud)

现在为了编译和安装组件,我们需要创建一些 sim 链接。

对于 Ubuntu 64 位运行:

sudo ln -s /opt/QtSDK/5.0.0/gcc_x64 /opt/qt5
Run Code Online (Sandbox Code Playgroud)

对于 Ubuntu 32 位运行:

sudo ln -s /opt/QtSDK/5.0.0/gcc /opt/qt5
Run Code Online (Sandbox Code Playgroud)

在我们编译和安装之前还有一件事,我们需要更改两个环境变量,PATH 和 QML_IMPORT_PATH:

export PATH=$PATH:/opt/qt5/bin
export QML_IMPORT_PATH=/opt/qt5/imports
echo 'export PATH=$PATH:/opt/qt5/bin' >> ~/.bashrc
echo 'export QML_IMPORT_PATH=/opt/qt5/imports' >> ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

现在我们需要生成一个 Makefile 来构建 Qt Ubuntu 组件:

cd ~/trunk
qmake ubuntu-sdk.pro
make
sudo make install
Run Code Online (Sandbox Code Playgroud)

如果一切顺利,应该构建并安装组件,现在我们需要尝试一下以确保一切正常。我建议您在执行后续步骤之前注销并重新登录。

  • 打开 QtCreator,转到工具 -> 选项,选择外部工具选项卡。
  • 对于 Qt Quick 1 Preview (qmlviewer),在 Executable 字段中写入:/opt/qt5/bin/qmlviewer
  • 对于 Qt Quick 2 Preview (qmlscene),在 Executable 字段中写入:/opt/qt5/bin/qmlscene。
  • 单击应用并关闭选项窗口。

现在一切都应该可以正常工作了,要记住的一件事是,为了成功执行 QML Ubuntu Phone 应用程序,您需要在 .qmlproject 文件中取消注释 importPaths 并添加“/opt/qt5/imports”,如下所示:

Project {
    ...
    /* List of plugin directories passed to QML runtime */
        importPaths: [ "/opt/qt5/imports" ]
    ...
}
Run Code Online (Sandbox Code Playgroud)

就是这样。如有任何问题,请发表评论,我会尽力回复您。玩得开心!