Q_UNUSED()函数在程序中的作用,就如它所代表的英文一样,unused,即无用的意思。即Q_UNUSED()函数在程序中没有实质性的作用,用来避免编译器警告。
下面我们来看一组程序:
void ColorItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
Q_UNUSED(option);
Q_UNUSED(widget);
painter->setPen(Qt::NoPen);
painter->setBrush(Qt::darkGray);
painter->drawEllipse(-12, -12, 30, 30);
painter->setPen(QPen(Qt::black, 1));
painter->setBrush(QBrush(color));
painter->drawEllipse(-15, -15, 30, 30);
}
上面程序中,这个程序的主要功能是重构paint函数,我们看到了在这个函数的最开始,存在两处Q_UNUSED(),这两处的功能是防止编译器发出警告,警告option与widget两个变量没有调用,当加入这个函数时,编译器就不会再产生warning告警,避免编译时候警告过多。
以上就是Q_UNUSED()函数的介绍,只要见过一次,这个函数就不会在产生疑惑。