crossplatform.ru

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

> QDrag и перетаскивание из Q*View в Explorer, Ищу примеры.
Stanislaus
  опции профиля:
сообщение 29.7.2009, 16:29
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 17
Регистрация: 23.4.2008
Пользователь №: 156

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




Репутация:   0  


Добрый день всем.

Возникла вот необходимость перетаскавать из отображения в Explorer, но с ходу как-то не все стало получаться. Примеров выгуглить не получилось, и документация как-то тускло это освещает. Если у кого-нить есть какие-нить ссылочки по этому вопросу, поделитесь пожалуйста.

Судя по Qt-документации следующее должно работать:
void SBSFilesView::mousePressEvent(QMouseEvent *event)
{
    QTableView::mousePressEvent(event);
    if (event->button() == Qt::LeftButton)
        dragStartPosition = event->pos();
}

void SBSFilesView::mouseMoveEvent(QMouseEvent *event)
{
    if (!(event->buttons() & Qt::LeftButton))
        return;

    if ((event->pos() - dragStartPosition).manhattanLength()
        < QApplication::startDragDistance())
        return;

    QDrag *drag = new QDrag(this);
    QMimeData *mimeData = new QMimeData;

    mimeData->setUrls(QList<QUrl>() << QUrl::fromLocalFile("C:\text.txt"));
    drag->setMimeData(mimeData);

    Qt::DropAction dropAction = drag->exec(Qt::MoveAction);
}


Но, в итоге получаю сообщение об ошибке: Cannot move file: cannot read from the source file or disk.
C:\text.txt 100% существует.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
BRE
  опции профиля:
сообщение 29.7.2009, 16:41
Сообщение #2


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

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

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




Репутация:   44  


Экранируй '\' -> '\\'
    mimeData->setUrls(QList<QUrl>() << QUrl::fromLocalFile("C:\\text.txt"));
    drag->setMimeData(mimeData);
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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




RSS Текстовая версия Сейчас: 4.12.2024, 17:14