QListWidgetItem子类的itemdoubleclick信号

itemDoubleClicked signal for subclass of QListWidgetItem

本文关键字:信号 itemdoubleclick 子类 QListWidgetItem      更新时间:2023-10-16

我已经尝试了我所知道的一切(承认不是很多),并在谷歌上搜索了大约一个小时,但我就是不明白。

我有一个类叫做PlaceHolder,它继承自QListWidgetItem。我希望能够在此注册双击,因此我尝试在QListWidget上使用itemDoubleClicked(QListWidgetItem*)信号。然而,当我这样做时,我需要一个具有相同参数的槽。如果我不需要访问被单击的PlaceHolder的函数/变量,这将不是一个问题,但我这样做。

如果你还需要知道什么来帮助我,请随时问我。感谢您在这个问题上花费的时间和精力。

我对你的问题不太清楚。问题是你有一个QListWidgetItem*而不是占位符*?

试题:

void MyWidget::handleDoubleClickSlot(QListWidgetItem* item)
{
    PlaceHolder* placeHolderItem = qobject_cast<PlaceHolder*>(item);
    if (placeHolderItem == NULL)
    {
        // oops, not a PlaceHolder item
        return;
    }
    placeHolderItem->myAwesomePlaceHolderMethod();
}

如所示,如果条目不是PlaceHolder对象,它将返回NULL。