itemDoubleClicked сигнал для подкласса QListWidgetItem

Я перепробовал все, что знаю (что по общему признанию не очень), и искал в Google около часа, но я просто не могу понять это.

У меня есть класс под названием PlaceHolder, который наследует от QListWidgetItem, Я хочу иметь возможность регистрировать двойные щелчки на этом, поэтому я попытался использовать сигнал itemDoubleClicked(QListWidgetItem*) на QListWidget, Однако, когда я делаю это, мне нужен слот с такими же аргументами. Это не будет проблемой, если мне не понадобится доступ к функциям / переменным PlaceHolder это щелкнуло, но я делаю.

Если есть что-то еще, что вам нужно знать, чтобы помочь мне, пожалуйста, не стесняйтесь спрашивать. Спасибо за любое время и усилия, которые вы потратили на эту проблему.

0

Решение

Я немного неясен по вашему вопросу. Проблема в том, что у вас есть QListWidgetItem * вместо PlaceHolder *?

Пытаться:

void MyWidget::handleDoubleClickSlot(QListWidgetItem* item)
{
PlaceHolder* placeHolderItem = qobject_cast<PlaceHolder*>(item);

if (placeHolderItem == NULL)
{
// oops, not a PlaceHolder item
return;
}

placeHolderItem->myAwesomePlaceHolderMethod();
}

Как показано, он будет возвращать NULL, если элемент каким-то образом не является объектом PlaceHolder.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]