Ubuntu 13.10 安装Qt5

Qt5在Ubuntu的软件中心是找不到的,只能从Qt的官网下载安装。

http://qt-project.org/downloads,选择完整的Linux版本(qt-linux-opensource-5.1.1-x86-offline.run)。

下载下来右键,属性,勾上允许以程序执行文件,双击,安装。

一路默认下来即可。安装过程是相当简单的。

 

只是这毕竟非Ubuntu原生的deb包,安装后有些细节Qt是没有处理的,需要自己动手。

 

------------------------------------------------------------------

注意:在Ubuntu 13.10上的Qt5是有一严重bug的,无法输入中文!

发现此bug已可以绕开,已不影响使用,降级。

 

警告:今天又发现一严重bug, Qt Creator的调试器在Ubuntu 13.10下基本废了!

还好有牛人在一博文里详述了此bug,在其帮助下,修复还算简单。待我另开文细述。

 

1.环境变量

gedit .bashrc

末尾添加如下:

export QTDIR=/home/daizhe/Qt5.1.1/5.1.1/gcc
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PAH
export QMAKESPEC=$QTDIR/mkspecs/linux-g++

alias qtcreator='/home/daizhe/Qt5.1.1/Tools/QtCreator/bin/qtcreator'
alias qtdesigner='/home/daizhe/Qt5.1.1/5.1.1/gcc/bin/designer'
alias qtassistant='/home/daizhe/Qt5.1.1/5.1.1/gcc/bin/assistant'
export PATH=./:$PATH

 /home/daizhe为我的用户目录,注意对应替换。

 

2. 编译依赖项

新建GUI程序,构建过程共有两个错误,

"Qt Creator 需要设置一个编译器来构建", 编译器的问题,

sudo apt-get install g++

Error: ”GL/gl.h:No such file or directory”, OpenGL的问题,

sudo apt-get install libgl1-mesa-dev

运行成功。

3. Qt Assistant, Qt Designer添加至主菜单

默认安装的Qt,只有Qt Creator菜单项可见(而且这个菜单做的很笨很笨)。如需快捷启动assistant和designer,需要手动添加。

步骤:

cd .local/share/applications/
gedit qtassistant.desktop

编辑文件如下:

[Desktop Entry]
Comment=Qt Assistant
Terminal=false
Name=Qt Assistant
Exec=/home/daizhe/Qt5.1.1/5.1.1/gcc_64/bin/assistant
Type=Application
Icon=qtassistant

 保存即可看到菜单多出这一项。Icon这一项我测试仅在第三方主题(Faenza/NITRUX均有效)上起效。默认主题暂且没辙。

 

4. 建立Qt Creator与.h, .cpp, .pro等文件的关联

这一步当属于Qt Creator本身也不算bug的bug。总而言之,的确是它们没做到位,或者说,也做了,但是没调试!

默认的Qt Creator的快捷方式:

.local/share/applications/DigiaQtOpenSource-qtcreator.desktop,

将其完善如下,

[Desktop Entry]
Type=Application
Exec=/home/daizhe/Qt5.1.1/Tools/QtCreator/bin/qtcreator %U
Path=/home/daizhe
Name=Qt Creator 5.1.1
GenericName=The IDE of choice for Qt development.
Icon=qtcreator
Terminal=false
StartupNotify=true
Categories=Development;IDE;Qt;
MimeType=text/plain;text/x-csrc;text/x-chdr;text/x-c++src;text/x-c++hdr;text/x-xsrc;application/x-designer;application/vnd.nokia.qt.qmakeprofile;application/vnd.nokia.xml.qt.resource;

 Exec上的 %U 至关重要,若没这个,下面一大堆MimeType等于白写!这不是bug是什么...

然后在.local/share/applications/目录下的 mimeapps.list 文件中增加如下语句:

[Default Applications]
application/x-designer=DigiaQtOpenSource-qtcreator.desktop

[Added Associations]
text/plain=DigiaQtOpenSource-qtcreator.desktop
text/x-c++src=DigiaQtOpenSource-qtcreator.desktop
text/x-c++hdr=DigiaQtOpenSource-qtcreator.desktop
text/x-xsrc=DigiaQtOpenSource-qtcreator.desktop
application/x-designer=DigiaQtOpenSource-qtcreator.desktop
application/vnd.nokia.qt.qmakeprofile=DigiaQtOpenSource-qtcreator.desktop
application/vnd.nokia.xml.qt.resource=DigiaQtOpenSource-qtcreator.desktop

至于是默认还是推荐,就看个人选择了。

若需.ui文件默认以Qt Designer文件打开,只需[Default Applications]下 application/x-designer=qtdesigner.desktop 即可。

保存后在文件管理器(nautilus)中即可看到如下所示,

 搞定。

 

----------------------------------------------------------------------------

Qt中文输入的问题,可以通过以下途径绕开。

官网提供的Qt Creator单独下载版,是基于4.8.4构建的。去下载页下载此版本,即可正常输入中文。

Qt5.0.2,在Ubuntu13.10下,构建出来的程序,是可以正常输入的。

 

所要做的就是,另外下个Qt Creator,然后,写好的程序用5.0.2构建,OK.

 

目前情况,

Qt5.0.2, 在Ubuntu13.10 下,只有Qt Creator中中文输入法无效,assistant,以及Qt构建出来的程序,均可以正常输入。

Qt5.1版本,在Ubuntu13.10下,中文输入全线失效。无论ibus还是fcitx。

Fedora 19下测试,Qt5.1.1,原生ibus, 未作任何设置,中文输入正常!(经查,这里的ibus甚至连ibus-qt包都没装)

事实上,根据我查到的资料,Qt5对ibus是原生支持的,无需任何plugin。

而fcitx,在其官方ppa源里,是有fcitx-qt5包的,貌似在Ubuntu13.04上装上此插件,中文输入即搞定。但我在13.10下测试依然无效。

所以,我得出结论,这该是Ubuntu的bug。只能坐等Ubuntu或者fcitx-qt5的更新了。大不了回头我在Fedora下写注释。

 

posted @ 2013-10-23 18:25  迨晢  阅读(2470)  评论(1编辑  收藏  举报