Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: ElderOrb от Март 23, 2006, 22:42



Название: Qt 4.1.1 - копирование QTextDocument-а в клипбоард
Отправлено: ElderOrb от Март 23, 2006, 22:42
Пытюась добиться сабжа и обнаруживаю что картинки не копируются!..
Смотрю html файл (textDocument->toHtml()) и обнаруживаю что картинки там нету и в помине! То есть тэга img нету. Очередной баг QTextEdit-а? Как с этим бороться?


Название: Qt 4.1.1 - копирование QTextDocument-а в клипбоард
Отправлено: Shama от Март 24, 2006, 11:55
а в исходнике html-странички какая ссылка на картинку? Думается мне, что надо сохранять картинки отдельно в файлы... Сегодня на работе проверю...


Название: Qt 4.1.1 - копирование QTextDocument-а в клипбоард
Отправлено: ElderOrb от Март 24, 2006, 20:57
В том-то и дело что ссылки нету, т.к. нету тэга img. Впрочем вместо этого есть какое-то html/css МЯСО, которое при вставке скажем в ворд делает пустой прямоугольник размером с картинку..


Название: Qt 4.1.1 - копирование QTextDocument-а в клипбоард
Отправлено: Shama от Март 24, 2006, 21:27
Скинь в личку ето "Мясо"... Может Кутя пытается как-то картинки побитово запихать в саму хтмл? если да, то я буду долго смеяться... Сам не проверял ничего ибо на работе не был )))


Название: Qt 4.1.1 - копирование QTextDocument-а в клипбоард
Отправлено: ElderOrb от Март 24, 2006, 23:57
А вот оно, родимое ж)

Код:
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="qrichtext" content="1" /></head><body style=" white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;"><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html>


Это результат копирования просто картинки. А вот та же картинка с текстом до и после неё:

Код:
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="qrichtext" content="1" /></head><body style=" white-space: pre-wrap; font-family:MS Shell Dlg; font-size:8.25pt; font-weight:400; font-style:normal; text-decoration:none;"><p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> О ВНЕСЕНИИ ИЗМЕНЕНИЙ И ДОПОЛНЕНИЙ В ПРИКАЗЫ</p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">   МИНЖИЛКОМХОЗА ОТ 30.12.2002 Г. N 173 И</p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">   </p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">   (в ред. письма Минжилкомхоза от 15.06.2004 N 19/811-1)</p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">   </p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">   Учитывая, что выпуск Единого тарифно-квалификационного справочника работ и профессий (ЕТКС) N 63 (69), в состав которого входит раздел "Зеленое хозяйство", в настоящее время не утвержден постановлением Минтруда и соцзащиты Республики Беларусь и в целях соблюдения отнесения выполняемых работ к конкретным тарифным разрядам в зависимости от сложности и условий труда работников, ПРИКАЗЫВАЮ:</p></body></html>


Название: Qt 4.1.1 - копирование QTextDocument-а в клипбоард
Отправлено: ElderOrb от Март 26, 2006, 02:56
Моя ошибка. Всё же если вставить картинку в текст документ, он будет содержать тэг <img>. Но копировать такую картинку в клипборд удаётся только в том случае, когда src указывает на файл. Мне же нужно брать картинки из ресурсов или памяти (а на самом деле из БД). Можно конечно создавать QTemporaryFile-ы, но это как-то неприятно ж). Насколько я понял можно перегрузить QAbstractFileEngine чтобы эмулировать доступ к файлам через доступ к объектам БД. Но вот как заставить QClipboard работать с этим файловым движком вместо реального?..