Qt关于图片显示的有关问题
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()));