今天我看到了这段代码:
void CameraTree::dragMoveEvent(QDragMoveEvent *event)
{
QTreeWidget:dragMoveEvent(event);
}
我认为上面的代码是错误的。但是:
void CameraTree::dragMoveEvent(QDragMoveEvent *event)
{
dragMoveEvent(event);//infinite recursion???
}
void CameraTree::dragMoveEvent(QDragMoveEvent *event)
{
QTreeWidget::dragMoveEvent(event);
// I understand is called dragMoveEvent in class QTreeWidget.
// But dragMoveEvent is not static??
}
仅警告"未使用的标签QTreeWidget",已成功编译。 :
是什么意思?
答案 0 :(得分:7)
您想到的代码可能是QTreeWidget::dragMoveEvent(event);
。如果QTreeWidget::dragMoveEvent(event)
继承自CameraTree
,则CameraTree
无需从QTreeWidget
调用:
。
在C ++中,标签用单个冒号QTreeWidget:dragMoveEvent(event);
表示。 QTreeWidget:
编译的原因是因为dragMoveEvent(event);
被解释为标签,然后Element.style
是递归调用。