Qt 위젯 응용 프로그램을 작성했습니다. 파일 메뉴에서 MS 워드 문서를 사용자 설명서로 삽입하려고합니다. 그것을 할 방법이 있습니까? Qt 도움말과 다양한 블로그를 확인했지만 그 중 누구도 나에게 명확한 해결책을 제시하지 못했습니다.Qt GUI 응용 프로그램에서 MS 워드 문서를 첨부하는 방법은 무엇입니까?
답변
수동 인 경우 MS Word
을 앱에 임베드 할 필요가 없습니다. 컴퓨터에 Word
으로 필요한 문서를 열려고 시도했을 수 있습니다. 다음 코드를 사용해보십시오 :
QDesktopServices::openUrl(QUrl("file:///G:/tst.docx"));
그냥 필요한 경로를 설정하십시오. As doc said:
URL이 다음 대신 웹 브라우저의 적절한 응용 프로그램 열립니다 로컬 파일 (즉, URL이 방식은 "파일"입니다)에 대한 참조 인 경우.
감사합니다 @ 체르노빌, 최소한의 노력으로 내 문제를 해결했습니다 :) –
응용 프로그램 실행 파일에 임베드하려면 .docx 파일을 리소스 파일로 삽입하기 만하면됩니다. 자원에서 DOCX 파일을 열려면 먼저 응용 프로그램 디렉토리 경로에 예를 들어 어떤 위치에 복사해야합니다
QFile HelpFile("qrc:/myFile.docx");;
HelpFile.copy(qApp->applicationDirPath().append("/myFile.docx"));
다음은 당신이하여 열 수 있습니다 :
QDesktopServices::openUrl(QUrl::fromLocalFile(qApp->applicationDirPath().append("/myFile.docx")));
좋은 방법은 배포 고통. 사용자가 애플리케이션 디렉토리 (예 : Linux)에 대한 쓰기 권한을 가질 것으로 예상 할 수 없으므로 대신 임시 경로를 사용합니다. –
@SimonWarta 당신 말이 맞아요. 'QStandardPath'에 의해 쓰기 가능한 위치를 사용하는 것이 낫습니다. – Nejat
특별한 이유가 있나요 사용 설명서에 MS Word 문서를 사용하십니까? 일반 텍스트 또는 HTML 형식을 사용하지 않는 이유는 무엇입니까? – vahancho
@vahancho 귀하의 회신에 감사드립니다. 이미 이미지와 모든 것을 포함하는 .doc 매뉴얼을 만들었습니다. 그래서 콘텐츠를 다시 사용하고 싶었습니다. .doc를 곧바로 삽입 할 수있는 방법이 있습니까? –
Qt는 COM 개체를 위젯에 포함하는 것을 지원하지만 (QAxObject 설명서 참조)이 작업에 소요되는 노력은 설명서를 다른 "휴대용"형식으로 변환하는 것 이상의 의미를 갖습니다. – vahancho