博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ubuntu 13.10 安装Qt5
阅读量:4983 次
发布时间:2019-06-12

本文共 3465 字,大约阅读时间需要 11 分钟。

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

,选择完整的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/gccexport PATH=$QTDIR/bin:$PATHexport LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PAHexport 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 AssistantTerminal=falseName=Qt AssistantExec=/home/daizhe/Qt5.1.1/5.1.1/gcc_64/bin/assistantType=ApplicationIcon=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=ApplicationExec=/home/daizhe/Qt5.1.1/Tools/QtCreator/bin/qtcreator %UPath=/home/daizheName=Qt Creator 5.1.1GenericName=The IDE of choice for Qt development.Icon=qtcreatorTerminal=falseStartupNotify=trueCategories=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.desktoptext/x-c++src=DigiaQtOpenSource-qtcreator.desktoptext/x-c++hdr=DigiaQtOpenSource-qtcreator.desktoptext/x-xsrc=DigiaQtOpenSource-qtcreator.desktopapplication/x-designer=DigiaQtOpenSource-qtcreator.desktopapplication/vnd.nokia.qt.qmakeprofile=DigiaQtOpenSource-qtcreator.desktopapplication/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下写注释。

 

转载于:https://www.cnblogs.com/daizhe11/p/3384698.html

你可能感兴趣的文章
P1387 最大正方形
查看>>
百度地图 - demo
查看>>
python3之迭代器&生成器
查看>>
《此生未完成》读后感
查看>>
Nexus搭建Maven私服
查看>>
访问者模式
查看>>
CentOS 7安装最新版本Git
查看>>
DTW的原理及matlab实现
查看>>
jQuery EasyUI API 中文文档 - 对话框(Dialog)
查看>>
在Android8.0以上收不到广播问题(AppWidget)
查看>>
SCOI2010 传送带 [三分/模拟退火]
查看>>
C#读取文件,返回字符串形式的文件内容
查看>>
卸载软件时出现的“不能够打开文件INSTALL.LOG”错误-清理注册表即可
查看>>
R学习笔记(3):绘图
查看>>
类的封装
查看>>
命名空间的定义
查看>>
Android 中Json解析的几种框架(Gson、Jackson、FastJson、LoganSquare)使用与对比
查看>>
byte[]与各种数据类型互相转换示例
查看>>
swift 自定义TabBarItem
查看>>
Android 仿网易新闻v3.5:上下滑动的引导页
查看>>