• 7456阅读
  • 9回复

QT应用程序中插入图片 [复制链接]

上一主题 下一主题
离线呆呆
 
只看楼主 倒序阅读 楼主  发表于: 2011-04-25
关键词: 图片显示
我是刚学的QT,要完成一个添加图片的功能,不论是控件还是背景图片,我都加不上去,找了一段代码,图片未显示,只是变黑了,请高手指点,在此非常感谢!!!
离线ppdayz

只看该作者 1楼 发表于: 2011-04-25
上代码
离线呆呆
只看该作者 2楼 发表于: 2011-04-25
#include <QApplication>
#include <QApplication>
#include <QtGui>

int main(int argc, char *argv[])
{
QApplication app(argc,argv);

QFrame *frame = new QFrame;
frame->resize(400,700);
QPixmap pixmap("images/frame.png");
QPalette palette;
palette.setBrush(frame->backgroundRole(),QBrush(pixmap));
frame->setPalette(palette);
frame->setMask(pixmap.mask()); //可以将图片中透明部分显示为透明的
frame->setAutoFillBackground(true);
frame->show();

return app.exec();
}

在网上搜的,人家都说好用了,我把图片存到工程的images文件夹了,还是不好用,最后还写了个.qrc文件
离线呆呆
只看该作者 3楼 发表于: 2011-04-25
回 1楼(ppdayz) 的帖子
#include <QApplication>
#include <QApplication>
#include <QtGui>

int main(int argc, char *argv[])
{
QApplication app(argc,argv);

QFrame *frame = new QFrame;
frame->resize(400,700);
QPixmap pixmap("images/frame.png");
QPalette palette;
palette.setBrush(frame->backgroundRole(),QBrush(pixmap));
frame->setPalette(palette);
frame->setMask(pixmap.mask()); //可以将图片中透明部分显示为透明的
frame->setAutoFillBackground(true);
frame->show();

return app.exec();
}

在网上搜的,人家都说好用了,我把图片存到工程的images文件夹了,还是不好用,最后还写了个.qrc文件  
麻烦帮帮忙,谢谢
离线wxj120bw

只看该作者 4楼 发表于: 2011-04-26
Re:回 1楼(ppdayz) 的帖子
引用第3楼呆呆于2011-04-25 23:02发表的 回 1楼(ppdayz) 的帖子 :
#include <QApplication>
#include <QApplication>
#include <QtGui>
int main(int argc, char *argv[])
.......

这样问题在论坛已经讨论过了 QPixmap pixmap("images/frame.png"); 这行改成QPixmap pixmap(":images/frame.png");
离线dbzhang800

只看该作者 5楼 发表于: 2011-04-26
如果你不用qrc,可参考:

从 相对路径 说来开(针对Qt)
http://blog.csdn.net/dbzhang800/archive/2011/04/26/6363165.aspx
离线呆呆
只看该作者 6楼 发表于: 2011-04-29
回 5楼(dbzhang800) 的帖子
嗯,谢谢你!!!
离线呆呆
只看该作者 7楼 发表于: 2011-04-29
回 4楼(wxj120bw) 的帖子
我都试过了,不好用,图片不知为什么加载不进去。。。


谢谢你了!!!
离线wxj120bw

只看该作者 8楼 发表于: 2011-04-30
Re:回 4楼(wxj120bw) 的帖子
引用第7楼呆呆于2011-04-29 23:14发表的 回 4楼(wxj120bw) 的帖子 :
我都试过了,不好用,图片不知为什么加载不进去。。。
谢谢你了!!!

你用的是qrc加载资源文件吗 qrc里面的路径是怎么样的?
离线roywillow

只看该作者 9楼 发表于: 2011-04-30
qrc路径以“:/”开头,不过仍然要注意“文件夹”的“嵌套”分层
另外QLabel可以直接显示QPixmap的
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
快速回复
限100 字节
 
上一个 下一个