找回密码
 立即注册
收起左侧

QPixmap load 函数问题

6
回复
12553
查看
[复制链接]

尚未签到

来源: 2013-4-3 15:27:20 显示全部楼层 |阅读模式
1Qter豆
在debug 目录下建立images目录,放入图片linux.jpg

QPainter painter(this);
    QPixmap pix;

    pix.load(“images/linux.jpg”);

    painter.drawPixmap(0,0,100,100,pix);
    painter.translate(100,100); //将(100,100)设为坐标原点
    painter.drawPixmap(0,0,100,100,pix);


为什么pix.load(“images/linux.jpg”); 不能加载图片???????????????

但是这样写pix.load(“E:\\linux.jpg”); 指定绝对路径可以找到文件,而且不能有文件夹,这样可以读到图片

求指教


最佳答案

查看完整内容

路径有相对路径和绝对路径两种。 Windows下面的路径里面使用的是“/”进行分隔,这是系统决定的,不是bug,绝对路径就是从盘符开始。 而相对于路径是相对于当前目录的路径,在Qt Creator里编译运行的程序的当前目录就是生成的如“build-q5-Desktop_Qt_5_0_2_MinGW_32bit-Debug”这样格式的目录。所以,如果你将图片放到该目录里面,那么可以直接输入文件名来使用,而不需要带前面的路径。这个其实也不能算是个bug啊,Qt 4也是这 ...
回复

使用道具 举报

尚未签到

2013-4-3 15:37:33 显示全部楼层
问题解决!使用绝对路径,并使用且要用“/”,而不能用“\”
如pix.load("C:/Qt/test/15/painter05-build-Desktop_Qt_5_0_1_MinGW_32bit-Debug/debug/images/1.jpg");

我用的qt5,网上的例子都是qt4,不知道是不是qt5的bug,也不知道qt4能不能运行

回复

使用道具 举报

累计签到:1568 天
连续签到:1 天
2013-4-3 15:27:21 显示全部楼层
路径有相对路径和绝对路径两种。

Windows下面的路径里面使用的是“/”进行分隔,这是系统决定的,不是bug,绝对路径就是从盘符开始。

而相对于路径是相对于当前目录的路径,在Qt Creator里编译运行的程序的当前目录就是生成的如“build-q5-Desktop_Qt_5_0_2_MinGW_32bit-Debug”这样格式的目录。所以,如果你将图片放到该目录里面,那么可以直接输入文件名来使用,而不需要带前面的路径。这个其实也不能算是个bug啊,Qt 4也是这样的。

最好的方式是将图片放到资源文件里面。
回复

使用道具 举报

尚未签到

2013-4-3 15:32:19 显示全部楼层
我编译环境是在windows xp环境下
回复

使用道具 举报

尚未签到

2013-4-3 15:36:51 显示全部楼层
问题解决!使用绝对路径,并使用且要用“/”,而不能用“\”
如pix.load("C:/Qt/2010.05/share/pixmaps/qtcreator_logo_512.png");

我用的qt5,网上的例子都是qt4,不知道是不是qt5的bug,也不知道qt4能不能运行

回复

使用道具 举报

累计签到:410 天
连续签到:1 天
2013-4-4 18:47:30 显示全部楼层
你路径 都没摸懂  ,你把放在资源文件里面赛,你这样写的话,你可以去debug目录下执行exe文件,这样应该加载了的。
回复

使用道具 举报

累计签到:410 天
连续签到:1 天
2013-4-5 19:42:18 显示全部楼层
把图片放在工程下,这个可以帮到你 的了,看图片

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了