从零开始做3D地图编辑器(十)(基于QT与OGRE)

四、QT资源系统

         上一节中QAction设置图标时使用了QIcon,当时用的是QIcon (":/images/new.png")来申请一个QIcone,里面有一个路径,实际上这个路径并不是系统路径,而是通过Qrc来管理的路径。

QT的资源管理系统是一个跨平台的用来存储应用程序执行时所需的二进制资源,它用QRCQT Resource Collection)文件来管理,QRC基于XML,使用起来非常方便。

下面是最基本的QRC文件形式:

需要关注的是<file>images/new.png</file>,这是资源的相对路径,而且也是资源名,所以一定要注意大小写。

你可以通过:/images/new.png的方法把资源取出来。

你还可以给资源取个别名:

这时候你就可以使用:/new.png了,注意:/images/new.png的方法已经取不到了。

当然你还可以把你的资源分组,其实就是加了一个前缀:

那么现在你就只可以使用:/File/new.png的方法来取得资源了。

如果你的应用程序是多语言的,那么你可以通过lang来设置不同语言环境下的资源:

这样,当你在法语环境下,就自动指向了新图了。

添加资源就这么简单,但是你的项目目前里面是没有Qrc的,所以你得新建一个QRC文件,怎么去创建一个QRC文件呢?在项目上面右键,添加,新建项,这时候不是要添加头文件或cpp文件,在新建项对话框的左侧,有一个QT Resource,点击右边模板里面的QT Resource输入名称就行了。

现在QRC文件已经建立好了,但是还是不能直接使用,因为还没有初始化它,使用

Q_INIT_RESOURCE(文件名);

初始化。

注意:填的仅仅是文件名,不带扩展名,也不需要双引号,一定要在使用资源前,初始化资源,资源会在应用程序关闭时释放。

 现在工具栏有图标了。

展开阅读全文

没有更多推荐了,返回首页