我用Qt做了一个简单的按钮,功能是将一图片放到按钮上,然后按一下图片转换,代码如下:
MChangePerPressButton::MChangePerPressButton(QPixmap one,QPixmap two)
{
photo1 = one;
photo2 = two;
photo1.setMask(photo1.createMaskFromColor(QColor(0,0,255)));
photo2.setMask(photo2.createMaskFromColor(QColor(0,0,255)));
this->setAutoRaise(true);
this->setIcon(photo1);//设置按钮标签
this->setIconSize(photo1.size());//设置标签大小
this->setMask(photo1.mask());
this->setToolButtonStyle(Qt::ToolButtonIconOnly);///设置按钮上只有标签
this->setFixedSize(photo1.size());
}
然后在PC机上跑是没有问题的,放到ARM的模拟器上也没问题,但放到面板设备跑时,一开始也没问题,但点击次数多了就出现错误!错误信息如下:
File:global \ qglobal.cpp
Line:2093
ASSERT:" d_ptr->refcount==1 "in file
Painting \ qPainter.cpp , line 1399;
请问为什么呢?难道重画了二次吗,好像没有啊;资源不足吗?好像又不是。