当前位置: 代码迷 >> QT开发 >> 又是简单的题目。该怎么处理
  详细解决方案

又是简单的题目。该怎么处理

热度:103   发布时间:2016-04-25 05:03:55.0
又是简单的题目。。。。
const QPixmap *m_ppixBkgnd; (里面已经有值)
QPixmap *m_ppix1;
QPixmap m_ppix2;

qreal width = m_ppixBkgnd->width(); 
qreal height = m_ppixBkgnd->height();

m_ppix1 =&(m_ppixBkgnd->scaled(width*m_iZoom, height*m_iZoom, Qt::KeepAspectRatio));
m_ppix2 =m_ppixBkgnd->scaled(width*m_iZoom, height*m_iZoom, Qt::KeepAspectRatio);

  1、painter->drawPixmap(QPointF(x, y), m_ppix1);
  2、painter->drawPixmap(QPointF(x, y), &m_ppix2);

这样为什么第一能运行,显示不出来。第二能正常运行,且显示正常。。。。。

------解决方案--------------------
m_ppixBkgnd->scaled拉伸之后返回值是个对象,第二种写法才是正确的写法。第一种写法可能是返回的临时对象已经被释放了,所以无法显示。
------解决方案--------------------
+1
探讨

m_ppixBkgnd->scaled拉伸之后返回值是个对象,第二种写法才是正确的写法。第一种写法可能是返回的临时对象已经被释放了,所以无法显示。
  相关解决方案