2010-07-28 50 views
0

我正在使用Qt 4.6 C++也是如此。幫助集成在Qt/C++應用程序中

我有一個用戶手冊.chm)爲我的應用程序,它需要幫助用戶運行該應用程序。現在我希望這個幫助將集成到我的應用中,以便當用戶從應用程序中選擇幫助時,用戶手冊將以打開,相應的幫助頁面顯示爲。通過這種方式,我可以利用已有的手冊,並且用戶會發現很容易查看文檔。 (因爲它是熟悉

用戶手冊文件是具有相應的搜索關鍵詞,其可用於從應用程序被選擇時,顯示相應的頁面的.chm格式。就像F1在任何windows應用程序中的幫助。

是否有可能在Qt或C++中做到這一點?

可以通過哪些其他方式將幫助集成到應用程序中?

任何有關此指針,歡迎..

回答

2

是的,這是可能的。幫助系統基礎結構旨在與Visual Studio中的常規Win32開發集成,但這在技術上並非必要。基本上你只需撥打HtmlHelp(GetDesktopWindow(), "Yourhelp.chm", HH_HELP_CONTEXT, IDYourCurrentContext);

+0

您可否詳細說明HtmlHelp()函數。基本上我習慣了Qt,但功能聽起來像一個VC++的。 – liaK 2010-07-28 10:38:00

+0

這不是VC++特有的,而是一般的Win32 API函數。包括Htmlhelp.h和鏈接到Htmlhelp.lib(你可以通過安裝HTML幫助研討會獲得這些信息,但是我認爲你已經有了這些,如果你創建了一個.chm) – MSalters 2010-07-28 10:54:37

+0

很酷..我可以傳遞索引項的值從這個函數中直接加載所需的頁面? – liaK 2010-07-28 12:40:24

1

幫助集成的更多Qt方式也可以做這是如下。

的CHM文件總是由hh.exe

所以打開,

QProcess::execute("hh.exe D:/Manual.chm"); 

可以用來打開應用程序的Manual.chm文件。

命令

QProcess::execute("hh.exe D:/Manual.chm::page1.htm"); 

將與page1.htm加載打開chm file。這將有助於加載chm file中的特定幫助頁面。

我們必須意識到這種方法的唯一的事情是,我們必須知道以前的網頁的文件名(這裏page1.htm)..

希望這一個也幫助... :)

1

QDesktopServices :: openUrl()會更Qt的方式。然後你不需要指定hh.exe,而是依靠系統文件關聯來使用正確的應用程序。因此 - 可移植性是Qt背後的關鍵。