请教,QT载入图片,编译调试时图片不显示,但是手动运行debug/release下exe可以显示

软件和网站开发以及相关技术探讨
回复
dd77913
帖子: 6
注册时间: 2010-01-05 13:10

请教,QT载入图片,编译调试时图片不显示,但是手动运行debug/release下exe可以显示

#1

帖子 dd77913 » 2011-05-03 8:14

这是什么原因啊....
为什么编译器中运行不显示图片,直接运行exe却可以

使用的是qt creator.

难道需要设置什么吗?

void Dialog::paintEvent(QPaintEvent *)
{
QPainter painter(this);
QPixmap pix;
pix.load("Image\test.jpg");
painter.drawPixmap(0,0,50,55,pix);
}
dd77913
帖子: 6
注册时间: 2010-01-05 13:10

Re: 请教,QT载入图片,编译调试时图片不显示,但是手动运行debug/release下exe可以显示

#2

帖子 dd77913 » 2011-05-03 10:13

这个应该是个什么问题啊?
大家可以猜测一下~~大概是哪儿的问题
头像
lexdene
帖子: 434
注册时间: 2010-02-21 16:19
来自: 大连
联系:

Re: 请教,QT载入图片,编译调试时图片不显示,但是手动运行debug/release下exe可以显示

#3

帖子 lexdene » 2011-08-19 15:01

你的exe文件放在哪个目录下了?
你的图片放在哪个目录下了?
头像
dwl301
帖子: 1130
注册时间: 2007-04-14 11:17

Re: 请教,QT载入图片,编译调试时图片不显示,但是手动运行debug/release下exe可以显示

#4

帖子 dwl301 » 2011-10-13 16:23

路径的问题,使用qrc可以把图片片编译到程序当中 ……
woaishuo2011
帖子: 5
注册时间: 2011-10-13 10:32

Re: 请教,QT载入图片,编译调试时图片不显示,但是手动运行debug/release下exe可以显示

#5

帖子 woaishuo2011 » 2011-10-13 18:17

pix.load("Image\test.jpg");
改为
pix.load(":/Image/test.jpg");
woaishuo2011
帖子: 5
注册时间: 2011-10-13 10:32

Re: 请教,QT载入图片,编译调试时图片不显示,但是手动运行debug/release下exe可以显示

#6

帖子 woaishuo2011 » 2011-10-13 18:27

pix.load("Image\test.jpg");
改为
pix.load(":/Image/test.jpg");
头像
supercatexpert
帖子: 403
注册时间: 2010-01-17 15:39
系统: Debian Wheezy AMD64
联系:

Re: 请教,QT载入图片,编译调试时图片不显示,但是手动运行debug/release下exe可以显示

#7

帖子 supercatexpert » 2011-10-17 14:55

要记住把图片作为资源导入(如果太大就算了),这样才能保证不受工作路径影响。
其实如果一定要知道自己的路径在哪里,对于Linux来说可以用readlink函数读取/proc/self/exe,它指向的文件就是当前程序的进程路径。
OS: Debian Wheezy (Testing) for AMD64~~~
Mobile Phone: Nokia N900, OS: Maemo 5.0 (Base on Debian)~~~
本人的项目: RhythmCat(Linux下的音乐播放器.....支持歌词等功能...)
http://code.google.com/p/rhythmcat

RhythmCat 2进行中 (https://github.com/supercatexpert/RhythmCat2/)
回复