在构造QIcon对象时,既可以使用绝对路径,也可以使用相对路径。
绝对路径很好理解,例如QIcon("c:/Qt/images/open.png"),通常这种方法不会出现图标加载不上的问题。
在使用相对路径的时候则容易出现问题。
首先看qrc文件,如果如下所示,
有prefix="MainWindow"这个标记,则构造QIcon时应该是QIcon(":MainWindow/images/open.png"),注意这里的MainWindow是不能丢的,是与prefix相对应的。
如果qrc文件如下所示,
没有prefix或者prefix为空,则可以使用QIcon(":/mages/open.png")。
以上的”:“冒号说明是相对路径,images是与qrc文件位于同一个目录下的文件夹。
还有一个地方值得注意,当qrc中有相对路径时,例如下图:
也可以以QIcon(":/pic/res/open.png")的形式进行访问。