crossplatform.ru

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

> Копирование файла в буфер
Tereks
  опции профиля:
сообщение 22.12.2009, 13:35
Сообщение #1


Студент
*

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

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




Репутация:   0  


Кто-нибудь сталкивался с проблемой копирования файла в буфер? Не могу добиться нормального копирования (ну как в TotalCommander к примеру)
пробовал через
QFile readFile( "C:\file.txt" );
if ( !readFile.open( QIODevice::ReadOnly ) )
return;

QMimeData * md = new QMimeData();
md->setData( "file", readFile.readAll() );
QApplication::clipboard()->setMimeData( md );


но как-то не очень вышло ) Поделитесь знанием..
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
trdm
  опции профиля:
сообщение 22.12.2009, 16:16
Сообщение #2


Дмитрий Трошин
****

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

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




Репутация:   6  


Цитата(Tereks @ 22.12.2009, 13:35) *
Кто-нибудь сталкивался с проблемой копирования файла в буфер? Не могу добиться нормального копирования (ну как в TotalCommander к примеру)
пробовал через
QFile readFile( "C:\file.txt" );
if ( !readFile.open( QIODevice::ReadOnly ) )
return;

QMimeData * md = new QMimeData();
md->setData( "file", readFile.readAll() );
QApplication::clipboard()->setMimeData( md );


но как-то не очень вышло ) Поделитесь знанием..

постановка задачи не полностью ясна. Копирование файла в буфер для чего? Вставка в другое место с пом. средство оболочки?
начни искать тут: http://www.rsdn.ru/article/winshell/shlext1.xml
+ при копировании файла в буфер в винде там сидят вот такие миме типы:
Цитата
QClipboard formats: application/x-qt-windows-mime;value="Shell IDList Array" / text/uri-list / application/x-qt-windows-mime;value="Preferred DropEffect" / application/x-qt-windows-mime;value="Shell Object Offsets" / application/x-qt-windows-mime;value="FileName" / application/x-qt-windows-mime;value="FileNameW"


получено:
    QClipboard* clipBrd = qApp->clipboard();
    if (clipBrd){
        const QMimeData* mime = clipBrd->mimeData();
        if (mime){
            toDebug =toDebug + QString("\n QClipboard formats: ") + mime->formats().join(" / ");
        }
    }

возможно эта инфа поможет.

Сообщение отредактировал trdm - 22.12.2009, 16:19
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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




RSS Текстовая версия Сейчас: 16.1.2025, 1:39