crossplatform.ru

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

> Обработка события QEvent::Drop
XXL
  опции профиля:
сообщение 26.7.2009, 23:21
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 30
Регистрация: 26.4.2009
Пользователь №: 708

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




Репутация:   0  


Всем привет!)
Подскажите, пожалуйста, как "разморозить" текстовый курсор? Дело в том, что у меня есть класс для работы с текстом public от QTextEdit, в котором viewport()->installEventFilter(this); я перехватываю Event::Drop и нужным мне образом обрабатываю это событие:
bool CTextEdit::eventFilter(QObject *pObject, QEvent *pEvent)
{
    ...
    QCursor widgCursor = ((QWidget*)pObject)->cursor();
    QTextCursor txtCursor = cursorForPosition(((QWidget*)pObject)->mapFromGlobal(widgCursor.pos()));
    ...
    else if (pEvent->type() == QEvent::Drop)
    {
        QTextCursor tCursor = textCursor();
        txtCursor.insertFragment(tCursor.selection());
        tCursor.removeSelectedText();
        setTextCursor(txtCursor);

                emit TextChanged(...);

        return true;
    }
    ...
    else
        return QObject::eventFilter(pObject, pEvent);
}


после чего текстовый курсор перестает мигать и замирает на текущей позиции, причем даже если выбрать другую позицию в документе, текст будет впечатываться с выбранной позиции, однако визуально немигающий курсор своего положения не изменит. Как можно вернуть его в нормальное активное состояние?
Большое спасибо)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


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


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




RSS Текстовая версия Сейчас: 1.12.2024, 7:30