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下写注释。