crossplatform.ru

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

> QListWidget и dropMimeData
Rocky
  опции профиля:
сообщение 26.2.2010, 0:44
Сообщение #1


Старейший участник
****

Группа: Участник
Сообщений: 530
Регистрация: 22.12.2008
Из: Санкт-Петербург
Пользователь №: 463

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




Репутация:   7  


Всем привет! Вот решил написать перекодировщик файлов... Достало меня при перетаскивании исходников из винды в линукс в блокноте менять кодировки вручную... Вроде уже почти написал, хотел тут выложить где-нить, мало ли кому пригодится.. но нашел багу... Вобщем, есть 2 QListWidget... Запретил им drag&drop (предварительно поставив им icon view). Безтолку, все равно могу мышкой элементы перетягивать. Ладно думаю, раз запретить нельзя, пусть хоть корректно перетаскивание работает... Унаследовался, попробовал переопределить dropMimeData - ни фига она не вызывается... Т.е. перетаскиваю нормально - а сюда не попадаю.. Задача - нужно как-то запретить повторение элементов (айтемов QListWidget) с одинаковыми именами... Погуглил - вроде как баг это.. Но у нокии написано closed.

Попробовал так. В классе-родителе этих 2- QListWidget:
//в конструкторе
    m_pAllExtsListWidget->installEventFilter(this);
    m_pChosenExtsListWidget->installEventFilter(this);

//далее:
bool CFileDecoder::eventFilter(QObject *pWatched, QEvent *pEvent)
{
    if (pWatched == m_pAllExtsListWidget || pWatched == m_pChosenExtsListWidget)
    {
        if (pEvent->type() == QEvent::Drop || pEvent->type() == QEvent::DragMove || pEvent->type() == QEvent::DragLeave
            || pEvent->type() == QEvent::DragEnter || pEvent->type() == QEvent::DragResponse)
        {
            int z = 0;
        }
    }

    return QMainWindow::eventFilter(pWatched, pEvent);
}

На int z = 0; поставил брэйкпоинт... Перетаскиваю туда-сюда, тоже не попадаю....

Как-нить можно еще отловить это перетаскивание? Я уже подумываю отказатся от QListWidget тогда..... (

Спасибо!)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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




RSS Текстовая версия Сейчас: 23.4.2024, 11:37