crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> GraphicsSceneHelp, Не могу отловить появление ToolTip
igor_bogomolov
  опции профиля:
сообщение 13.4.2010, 12:59
Сообщение #1


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Не могу отловить появление ToolTip на графической сцене.
bool ConvergateItem::sceneEventFilter(QGraphicsItem * watched, QEvent * event)
{
        switch (event->type()) {
        case QEvent::GraphicsSceneHoverEnter:
            qDebug() << "Enter";
            return false;
        case QEvent::GraphicsSceneHoverLeave:
            qDebug() << "Leave";
            return false;
        case QEvent::GraphicsSceneHelp:
            qDebug() << "О это чудо!!!";
            return false;
        case QEvent::ToolTip:
            qDebug() << "О это чудо!!!";
            return false;
        default:
            return false;
        }
}

Кто-нибудь делал подобное?
З,Ы, Hover обрабатывается нормально.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 17.6.2010, 9:17
Сообщение #2


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Тема всё ещё актуальна. Нужно перехватывать появление ToolTip

Есть составной графический элемент вида
Раскрывающийся текст
class ConvergateItem : public QObject, public QGraphicsItemGroup
{
    Q_OBJECT
    Q_DISABLE_COPY(ConvergateItem)
   ...
protected:
    bool sceneEventFilter (QGraphicsItem * watched, QEvent * event);

private:
    ShdslPortGraphicsItem  * shdslport[16];
    UplinkPortGraphicsItem * uplinkports[2];
};

ShdslPortGraphicsItem и UplinkPortGraphicsItem унаследованы от QObject и QGraphicsItem. Устанавливаю для них всплывающую подсказку setToolTip(QLatin1String("test tool tip"));. Теперь необходимо отловить её появление. Сделать это нужно либо в самих классах ShdslPortGraphicsItem иил UplinkPortGraphicsItem, либо в ConvergateItem. Пытаюсь это сделать через фильтр событий
Раскрывающийся текст
bool ConvergateItem::sceneEventFilter(QGraphicsItem * watched, QEvent * event)
{
     qDebug() << event->type();

    switch (event->type()) {
        case QEvent::GraphicsSceneHoverEnter:
            qDebug("GraphicsSceneHoverEnter");
            return false;
        case QEvent::GraphicsSceneHoverLeave:
            qDebug("GraphicsSceneHoverLeave");
            return false;
        case QEvent::GraphicsSceneHelp:
            qDebug("GraphicsSceneHelp");
            return false;
        case QEvent::ToolTip:
            qDebug("ToolTip");
            return false;
        default:
            return false;
    }
}

Ничего не получается :(
Как отловить появление ToolTip?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 4.12.2020, 10:51