2011-07-16 14 views
3

私はMac OS XでQtアプリケーションを構築しており、ヘルプブックを作成することにしました。 official docsを使用しようとしましたが、ヘルプブックはヘルプメニューに表示されません。Qtアプリケーションにヘルプブックを登録する

ヘルプブックはmy.app/Contents/Resources/HC.help/にあります。それ自体は問題なく、HelpViewer.appで直接開こうとしましたが、それはうまくいきました。

これは私がmy.app/Contents/Info.plistでそれを登録しています方法です:

<key>CFBundleHelpBookFolder</key> 
<string>HC.help</string> 
<key>CFBundleHelpBookName</key> 
<string>com.houbysoft.hc.help</string> 

それはまだ私のアプリケーションの[ヘルプ]メニューに表示されません。どうしましたか?

答えて

0

この質問から5年が経過していますが、私はちょうどそれを行う方法を工夫したので、私の所見を分かち合うと思いました。

@houbysoftというキーをInfo.plistに追加するだけでなく、ヘルプビューアを呼び出すヘルプメニューに手動でメニュー項目を追加する必要もありました。

サンプルコード(QMainWindowの初期化中)ので:

QMenu *helpMenu = new QMenu("Help", menuBar()); 
helpMenu->addAction(tr("&XYZ Help..."), this, SLOT(showHelp())); 

のShowHelp()メソッド(または、あなたは、おそらくDesignerを使用して、メニュー項目にいくつかの他の方法を追加することができます。):

void openHelp() 
{ 
    CFBundleRef appBundle = CFBundleGetMainBundle(); 

    if (appBundle == NULL) { 
     return; 
    } 

    CFStringRef myBookName = (CFStringRef)CFBundleGetValueForInfoDictionaryKey(appBundle, CFSTR("CFBundleHelpBookName")); 

    if (!myBookName || CFGetTypeID(myBookName) != CFStringGetTypeID()) { 
     return; 
    } 

    AHLookupAnchor(myBookName, CFSTR("Start")); 
} 

「スタート」という名前のアンカーをドキュメントの最初のページに追加しました。 "Start"を自分のアンカーの名前に置き換えます。

関連する問題