• 11173阅读
  • 10回复

【提问】请问如何给QT的应用程序加图标? [复制链接]

上一主题 下一主题
离线tasteprogram
 
只看楼主 倒序阅读 楼主  发表于: 2005-10-13
windows下的应用程序,在程序中可以为编译好的*.exe文件加上漂亮的图标。请问在QT中如何实现?谢谢!
[ 此贴被XChinux在2005-10-13 15:14重新编辑 ]
离线myer

只看该作者 1楼 发表于: 2005-10-25
VC下加入资源文件,linux下应该也有相应当办法
Qt好像并不提供一个通用的方法。
http://user.qzone.qq.com/56430808
离线tdrhsb
只看该作者 2楼 发表于: 2005-10-26
修改应用程序的属性就可以了吧
只看该作者 3楼 发表于: 2005-10-29
帮助有:
首先准备个ICO图标。例如:myappico.ico
用写字版新建个文件
里面就写一行:
IDI_ICON1           ICON   DISCARDABLE   "myappico.ico"

保存改名为 myapp.rc并把它和你的图标myappico.ico一起复制到你的QT工程项目的目录。

用写字版打开你的QT工程文件(如 "myapp.pro" ),在里面最后新添一行
RC_FILE = myapp.rc

保存,编译你的工程,嘿嘿。。成功了吧。。。


其实这软件的帮助都有,自己看哦。。。。
离线fieldfarmer
只看该作者 4楼 发表于: 2009-08-11
您说的这种方法还是基于Windows环境吧? 不知道在其他的操作系统下资源管理也是这样呢? 但是Qt之所以采用qrc方式, 我估计就是为了跨平台考虑吧?

我也遇到相似的问题, 您能否再解释得详细些? 我注意到论坛中有很多关于图标无法顺利加载的问题呢. 可能都是和这个有些关系.
比如我在使用托盘时, 在文件目录中有ico文件, 在qrc文件中也添加了该资源.
<RCC>
    <qresource prefix="/QtMySQL" >
        <file>Resources/Images/RTI.ico</file>
        <file>Resources/Images/MSN.ICO</file>
    </qresource>
</RCC>
然后在程序中创建QIcon对象 QIcon icon = QIcon("/resources/images/msn.ico");

然后为主窗体和托盘按钮加载图标
setWindowIcon(icon);
trayIcon->setIcon(icon);

于是都失败了. 但是为托盘加载的文件内容是可行的. 请您看看毛病是出在哪里呢? 路径? 或者格式?

切盼见教
离线dbzhang800

只看该作者 5楼 发表于: 2009-08-11
引用第4楼fieldfarmer于2009-08-11 10:24发表的  :
您说的这种方法还是基于Windows环境吧? 不知道在其他的操作系统下资源管理也是这样呢? 但是Qt之所以采用qrc方式, 我估计就是为了跨平台考虑吧?
我也遇到相似的问题, 您能否再解释得详细些? 我注意到论坛中有很多关于图标无法顺利加载的问题呢. 可能都是和这个有些关系.
比如我在使用托盘时, 在文件目录中有ico文件, 在qrc文件中也添加了该资源.
<RCC>
.......


1. 其实别人和你讨论的不是同一个问题,别人关注的的  windows  rc 资源文件, 你现在的 qt 的 qrc 资源文件

2. 你的问题其实很简单,原因就是你没搞清楚 qrc 中的那些路径究竟是什么意思
离线snowdream
只看该作者 6楼 发表于: 2009-08-11
http://blog.csdn.net/yang_hui1986527/archive/2009/07/25/4380141.aspx
设置Qt应用程序图标
希望对你有帮助~
QQ:273247606
希望与大家一起交流QT~
离线shrek_mycpp
只看该作者 7楼 发表于: 2009-08-11
请5楼详解! 我也遇到这样的问题。 比如两个png文件。 用同样的代码去加载。 有个的png能够显示在标题和托盘。有个却都不行。 不知道为什么。
离线80437
只看该作者 8楼 发表于: 2009-08-11
引用第4楼fieldfarmer于2009-08-11 10:24发表的  :
您说的这种方法还是基于Windows环境吧? 不知道在其他的操作系统下资源管理也是这样呢? 但是Qt之所以采用qrc方式, 我估计就是为了跨平台考虑吧?
我也遇到相似的问题, 您能否再解释得详细些? 我注意到论坛中有很多关于图标无法顺利加载的问题呢. 可能都是和这个有些关系.
比如我在使用托盘时, 在文件目录中有ico文件, 在qrc文件中也添加了该资源.
<RCC>
.......


按这个写法试一下:

QIcon icon = QIcon(":/QtMySQL/Resources/Images/MSN.ICO");
离线fieldfarmer
只看该作者 9楼 发表于: 2009-08-24
引用第5楼dbzhang800于2009-08-11 10:47发表的  :
1. 其实别人和你讨论的不是同一个问题,别人关注的的  windows  rc 资源文件, 你现在的 qt 的 qrc 资源文件
2. 你的问题其实很简单,原因就是你没搞清楚 qrc 中的那些路径究竟是什么意思


五楼的这种人, 最是讨厌. 既然简单, 你说出来啊.  人家就是不清楚什么意思才出错, 还用得着你这里显摆? 装B...
垃圾回复, 恶心.

四楼的看清楚, 你错在两个地方:
1. 为了实现跨平台, Qt只支持一些各平台下通用的图片格式. ico是不可行.
2. 你的资源路径是保存在xml文件中去索引的. 而xml文件是大小写区分. 你当作普通文件名去处理, 当然它不能识别了. 一定要全部一致.
切切奉告.
离线sikylori

只看该作者 10楼 发表于: 2009-09-03
在VS上给生成文件加入自己的图标我是这样做的(下面文件在同一目录下):
1)找到一个xxx.ico文件,将其加入到.qrc文件内
2)新建一个xxx.rc文件,内容为:        IDI_ICON1     ICON   DISCARDABLE   "xxx.ico"; 将其加入到.qrc文件内
3)新建一个xxx.pro文件,内容为:          RC_FILE = xxx.rc; 将其加入到.qrc文件内
4)编译工程,看到exe文件已经变为你设置的图标
快速回复
限100 字节
 
上一个 下一个