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

Ubuntu 13.10 安装Qt5的更多相关文章

  1. Ubuntu 13.10 安装 ia32-lib

    Ubuntu 13.10下面不参直接安装ia32-libs,直接安装的时候会提示下面的信息: output$ sudo apt-get install ia32-libs Reading packag ...

  2. Ubuntu 13.10 安装 Unity 8 试用截图

    关于 Unity 8 有很多报道,Unity 8 相对于 Unity 7 变化相当大,这是 Ubuntu 团队打造的一款通用于 PC.手机.平板的桌面. Unity 8 已经登陆 ubuntu 13. ...

  3. [原] ubuntu 13.10 安装 winqq2013

    安装及下载地址:http://www.longene.org/forum/viewtopic.php?t=4700 ubuntu 13.10 64位系统安装后无法启动qq,因为缺少程序包.解决方案: ...

  4. Ubuntu 15.10 安装Qt5.5.1

    本系列文章由 @YhL_Leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/50300447 本人使用的ubuntu系 ...

  5. 在 Ubuntu 13.10 安装 PyCharm 3.0.1 & Oracle JDK

    由于授权问题,在较新的Linux发行版本中都不再包含Oracle Java,取而代之的是OpenJDK.Ubuntu也是如此. OpenJDK能满足大部分的应用程序运行条件,但PyCharm无法在Op ...

  6. Ubuntu 13.10 安装 TeX Live 2013

    注:笔者也是刚刚接触TeX系统,水平有限,若有疏漏之处还望指正. 中文解决方案 对于LaTeX中文排版,比较方便有这样的几种解决方案:LaTeX+CJK / LaTeX+XeTeX / CTeX.其中 ...

  7. Ubuntu 13.10 安装Terminalx 后更改默认终端设置

    1.安装 terminalx, sudo apt-get install terminator 2.Ctrl+ Alt + t 试一下打开什么终端,我的默认启动的是Terminator;如果想换换默认 ...

  8. Ubuntu 13.10 安装软件失败后出现的问题——已安装 post-installation 脚本 返回了错误号 1

    安装Oracle-java7-installer失败后,再次重新安装后出现错误-- dpkg: error processing oracle-java7-installer (--configure ...

  9. Ubuntu 13.10 安装 Oracle11gR2

    #step 1:  groupadd  -g 2000 dba useradd   -g 2000 -m -s /bin/bash -u 2000 grid useradd   -g 2000 -m ...

随机推荐

  1. 二、break,continue区别

    break:作用于switch,和循环语句,用于跳出,或者称为结束 break语句单独存在,下面不要定义其他语句,因为执行不到,编译会失败,当循环套时,break会跳出当前所在循环,要跳出外部循环,只 ...

  2. 在Eclipse中怎样写Java注释

    java中的注释分为实现注释和文档注释 实现注释就是那些/……../和//……的注释,是注释程序用的,文档注释是/*……./的注释,是用来生成javadoc的.设置方法如下: 1.打开Eclipse的 ...

  3. WEB学习总结 +数据结构

    HTML5  <h1>会员注册界面</h1><form action="process.aspx" method="post" n ...

  4. Matlab梯度下降解决评分矩阵分解

    for iter = 1:num_iters %梯度下降 用户向量 for i = 1:m %返回有0有1 是逻辑值 ratedIndex1 = R_training(i,:)~=0 ; %U(i,: ...

  5. 使用开关、分段控件和web视图

    #import "XViewController.h" @interface XViewController () @end @implementation XViewContro ...

  6. The Brain vs Deep Learning Part I: Computational Complexity — Or Why the Singularity Is Nowhere Near

    The Brain vs Deep Learning Part I: Computational Complexity — Or Why the Singularity Is Nowhere Near ...

  7. 使用feof()函数判断文件是否结束

    课本上时这样写的:(用putchar(ch);代表对取出来的字符的处理.) while(!feof(fp)) { ch=fgetc(fp); putchar(ch); } 但是,这样写的话,fgetc ...

  8. hadoop-ha QJM架构应用故障总结

    部署hadoop-ha QJM架构过程我就不说了,参考 我的博客:hadoop-ha QJM架构部署故障一:    namenode 报错日志如下: WARN org.apache.hadoop.hd ...

  9. 去“IOE”

    所谓去“IOE”,是对去“IBM.Oracle.EMC”的简称,三者均为海外IT巨头,其中IBM代表硬件以及整体解决方案服务商,Oracle代表数据库,EMC代表数据存储.去“IOE”策略更广泛的理解 ...

  10. 远程数据源Combobox

    Ext.define('bookInfo', {          extend: 'Ext.data.Model',//新类继承自model          fields: [{ name: 'b ...