当前位置: 代码迷 >> QT开发 >> Qt关于图片显示的有关问题
  详细解决方案

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

热度:39   发布时间:2016-04-25 04:43:04.0
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()));
  相关解决方案