Sergiy P Ответов: 1

Как получить необработанные данные (возможно, qbytearray) из буфера обмена (qapplication::clipboard()) в qt5 ?


Я получаю данные из буфера обмена и проверяю их тип:
const QClipboard *буфер обмена = QApplication::буфер обмена();
const QMimeData *mimeData = буфер обмена->mimeData();

if (mimeData->hasImage()) {
label->setPixmap(qvariant_cast<qpixmap>(mimeData->imageData()));
}
else if (mimeData->hasFormat("text/html")) {
label->setText(mimeData->html());
}
else if (mimeData->hasFormat("text/plain")) {...}
еще {
???
}

Если это не изображение или текст (последнее условие "еще"), я хочу рассматривать его как файл.
Я хочу получить QByteArray и записать его в файл.

Итак, как я могу получить необработанные данные (QByteArray) из буфера обмена?

Что я уже пробовал:

Я пытался получить его как mimeData->text(), но он просто указал мне путь к файлу с выводом типа:
file:///E:/app.exe
file:///E:/note.txt

1 Ответов

Рейтинг:
1

Richard MacCutchan

Попробуйте использовать Класс QMimeData | Qt Core 5.15.1[^] чтобы увидеть, в каких форматах данные могут быть возвращены.