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