首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

Qt关于图片显示的有关问题

2012-06-19 
Qt关于图片显示的问题我在一个QWidget里面加了一个QLabel,用于显示图片,并实现图片适应部件大小。代码如下:

Qt关于图片显示的问题
我在一个QWidget里面加了一个QLabel,用于显示图片,并实现图片适应部件大小。代码如下:

C/C++ code
        m_pLabel = new QLabel(this);    m_pLabel->setAutoFillBackground(true);    m_pLabel->setScaledContents(true);    QPixmap pixmap;    if (pixmap.load("C:\\Users\\Administrator\\Documents\\Visual Studio 2010\\Projects\\MineSweerer\\MineSweerer\\Resources\\block.png"))    {        m_pLabel->setPixmap(pixmap);    }    else    {        QMessageBox::warning(NULL, "no resource", "no resource");    }//重绘事件void KBlock::paintEvent(QPaintEvent *pEvent){    m_pLabel->resize( this->size() );}


现在问题在于图片可以跟随窗口增大,不过当窗口增大后,再缩回来就显示不正常了。
还有一个问题就是图片资源的加载,我用的是VS2010,有什么方法不用绝对路径加载啊?相对路径好像不太好使。图片应该放在工程那个文件夹里呢?

谢谢各位,大侠!

[解决办法]
缩回后变形,感觉像是Qt的问题
资源图片加载使用qrs文件定义
[解决办法]
使用QSS 中的
QLabel{border-image:url(your_image_path);}很容易是你的要求

[解决办法]
如果用code 调用
QLabel::setScaleContents(true);
就可以了
[解决办法]
你这里只做了label的自适应,没有做图片的自适应,把paintEvent里面改成这样就好了。
QPixmap map;
map.load("./3.png");
ui->label->resize(this->size());
ui->label->setPixmap(map.scaled(this->size()));

热点排行