17.2 安装Qt
除非你有特殊的原因需要从源代码开始编译,否则最好直接找一个针对你的Linux发行版的二进制软件包或RPM包来安装Qt。Fedora Linux 7自带了qt-3.3.8-4.i386.rpm,你可以用下面的命令来安装它:
$ rpm -Uvh qt-3.3.8-4.i386.rpm
你也可以用软件包管理器来安装Qt和KDE编程库(见图17-1)。
图 17-1
如果想自己下载源代码并编译Qt,你可以从Trolltech公司的FTP站点ftp://ftp.trolltech.com/qt/source/下载最新的源代码包。tar软件包中的INSTALL文件详细说明了如何编译和安装Qt:
你还需要在/etc/ld.so.conf文件中添加如下一行(该行可以添加在这个文件中的任何位置):
在Fedora和Red Hat Linux系统中,这行内容是保存在文件/etc/ld.so.conf.d/qt-i386.conf.中的。如果你是按图17-1所示的方式安装的Qt,那么这一步骤可以省略,因为系统已经帮你做好了。
在安装好Qt后,环境变量QTDIR应被设置为Qt的安装目录。你可以用如下命令进行检查:
同时,要确认lib目录已被添加到/etc/ld.so.conf文件中。
接下来以超级用户的身份运行如下命令:
ldconfig
你先尝试运行下面这个最简单的Qt程序,以确保你的Qt安装能够正常工作。
实 验 QMainWindow
输入这个程序(或对下载的代码进行复制、粘贴),将其命名为qt1.cpp:
要编译这个程序,你需要包含Qt的include和lib目录:
在某些平台上,上面命令最后的库是-lqt。不过对Qt3.3来说,应使用-lqui。
运行这个程序,你将看到一个Qt窗口(见图17-2)。
$ ./qt1
图 17-2
实验解析
与GTK+不同,Qt中没有一个涵盖一切的qt.h头文件,因此你必须明确包含对应每个你所使用对象的头文件。
你遇到的第一个对象是QApplication。这是必须构造的主Qt对象,你将命令行参数传递给它。每个Qt应用程序必须有且仅有一个QApplication对象,而且你必须在做其他任何事之前创建它。QApplication负责处理一些底层操作,如事件处理、字符串本地化和控制界面外观等。
上述使用了两个QApplication的方法:一个是setMainWidget,它设置应用程序的主构件;另一个是exec,它启动事件循环。exec将一直运行,直到QApplication::quit( )被调用或主构件被关闭。
QMainWindow是一个Qt基础窗口构件,它支持菜单、工具栏和状态栏。本章会详细讲述如何扩展它,以及为其添加构件以创建一个用户界面。
接下来,我们将介绍事件驱动编程的机制,你将为应用程序添加一个PushButton构件。