Linux Qt 环境以及基础

搞了几天Qt,从搭配环境开始就遇到一坨坨的问题啊,很多东西又搜索不到,只能自己尝试了,在博客中记录一下,希望能帮助到有同样问题的人。

1.Qt Linux下运行环境的配置:

我这里配置环境是下载源码库下来自己编译一个SDK,这样有个好处是能看到源码方便学习.

到这里下载东东,我的是Ubuntu 10.04,下载了这两个:

Qt libraries 4.8.4 for Linux/X11 (225 MB)    -->库

Qt Creator 2.6.0 for Linux/X11 32-bit (63 MB) -->IDE

库下载下来以后是qt-everywhere-opensource-src-4.8.4.tar.gz,解压一下,到其目录下,执行configure脚本,等执行完了,再执行make,这是一个耗时很长的过程(我的机器上搞了几个小时....),耐心等待完了以后再执行make install,它会在/usr/local/Trolltech目录下安装sdk,安装好了以后Qt的运行环境就算好了。qt-everywhere-opensource-src-4.8.4这个目录最好保留着,以后跟踪源码以及出了问题重新编译都需要它。

2.Qt Creator IDE:

Qt Creator 2.6.0 for Linux/X11 32-bit (63 MB)下载下来以后,到其目录执行qt-creator-linux-x86-opensource-2.6.0.bin,此文件需要加上X可执行权限方可执行,执行完了以后IDE就安装好了,下边需要在IDE中配置Qt开发环境,运行Qt creator,创建新项目,会让你配置Kit,在"Qt version"一栏,点击右边的"manager",选择qmake路径为:/usr/local/Trolltech/Qt-4.8.4/bin/qmake,就好了。下面就可以创建一个Qt Gui application写一个Hello world了。

3.Qt中文显示问题:

如果随意创建一个QPushButton,设置它的text为"中华人民共和国",运行起来会发现是方块框框(在我的机器上是这样,在我朋友的机器上是乱码),这里要显示出正确的文字需要解决两个问题,一个是编码一个是系统字体。

编码:

加上这句话QTextCodec::setCodecForTr(QTextCodec::codecForName("utf-8"));然后把用到字符串的地方通通用QObject::tr()给包起来,我这里就是QObject::tr("中华人民共和国");

修改字体以解决显示出来的文字是方块的问题:

在终端中运行qtconfig,按我图中所说的配置一下就好了:

Linux Qt 环境以及基础

4.QGLWidget cannot found: no such file or directory:

这个问题是我在编译一个网上有人写的游戏项目时发现的,找不到QGLWidget头文件,在我公司机器上是没问题的,在我家里机器上却出现这个问题,查了半天没找到原因,后来才知道是由于机器缺乏opengl库导致编译sdk的时候没有编译出Qt所需要的针对opengl的一些文件。

解决方案:

$ sudo apt-get install mesa-common-dev  libgl1-mesa-dev libglu1-mesa-dev freeglut3-dev安装opengl库,重新configure,make 和make install 就解决了,妹的又编了三个小时!!

Qt 的详细介绍请点这里
Qt 的下载地址请点这里

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/a86adce0a10d5db5d6f47a947dc3808b.html