今天我看到了这段代码:
void CameraTree::dragMoveEvent(QDragMoveEvent *event)
{
QTreeWidget:dragMoveEvent(event);
}
Run Code Online (Sandbox Code Playgroud)
我认为上面的代码是错误的.但:
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??
}
Run Code Online (Sandbox Code Playgroud)
并且只警告"未使用的标签QTreeWidget",编译成功.什么:意思?
预期的代码可能QTreeWidget::dragMoveEvent(event);正如您所想.如果继承,则QTreeWidget::dragMoveEvent(event)不需要是静态的.在C++中,标签用单个冒号表示.编译的原因是因为被解释为标签然后是递归调用.CameraTreeCameraTreeQTreeWidget:QTreeWidget:dragMoveEvent(event);QTreeWidget:dragMoveEvent(event);
| 归档时间: |
|
| 查看次数: |
124 次 |
| 最近记录: |