QT 응용 프로그램을 사용하여 테이블을 만들고이 테이블을 클립 보드에 복사하여 테이블로 libreoffice에 붙여 넣을 수 있어야합니다. 작가 또는 MS 워드 나중에. 내 첫 번째 방법QT를 통해 클립 보드에 (rtf) 테이블 복사 (또는 : 클립 보드에 QTextDocument 쓰기)
테이블에 대한 HTML 코드를 작성하고
QClipboard *clipboard = QApplication::clipboard();
QMimeData *mimeData = new QMimeData();
mimeData->setData("text/html", html.toUtf8());
clipboard->setMimeData(mimeData, QClipboard::Clipboard);
이러한 접근 방식은 작동하지 않았다으로 클립 보드에 삽입하는 것이 었습니다. 붙여 넣을 때 표 셀은 서로 추가되고 서식없이 삽입됩니다.
내 두 번째 방법 사용하여 RTF :
QTextDocument rtfDocument;
rtfDocument.setHtml(html);
하지만 클립 보드에이 QTextDocument를 복사 할 수있는 방법을 찾을 수 없습니다. 있어요? 나는 QTextDocument 밖으로 RTF 코드를 얻을 수 있다면, 나는
QClipboard *clipboard = QApplication::clipboard();
QMimeData *mimeData = new QMimeData();
mimeData->setData("text/rtf", rtfDocument.getCode());
clipboard->setMimeData(mimeData, QClipboard::Clipboard);
같은 방법을 사용할 수 있습니다 그러나 나는 또한 RTF 코드를 반환하는 함수를 찾지 못했습니다.
편집 : 나는 클립 보드에 RTF 코드를 복사하는 작업 방법이 위의 마지막 코드 상자
. 그래서 테이블을 나타내는 RTF 코드를 생성 할 수있는 모든 솔루션이 내 문제를 해결할 것입니다.
을 설정 http://stackoverflow.com/questions/294343/read-and -write-rtf-files-with-c-qt)하면 [librtf] (http://sourceforge.net/projects/librtf/)에서 RTF 처리를 할 수 있습니다. 나는 그것에 대해 조사 할 것이다. – Attila
Unfortunatelly librtf는 구문 분석 만 허용하고 rtf 파일은 만들지 않습니다. – Heinzi