日本語EnglishOFF-SOFT.netOFF-SOFT.netウェブやソフトウェアに関するサポート&情報サイトです。サイト構築からソフトウェアの作成、利用まであなたの助けになるかも・・・・しれません。コメントはまだありません。無効となっていませんか?このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない、検索ができないことがあります。:Qtでは、WindowsでいうHTMLヘルプに変わるものとしてQtAssistantがあります。(先の記事でも記載しました。)前回の記事で、Qtヘルプファイル(qchファイル,qhcファイル)の作成を行いました。今回の記事では、Qtヘルプファイル(qchファイル,qhcファイル)をアプリケーションでどのように連動表示させるかについて記述します。http://doc.trolltech.com/4.5/qthelp.htmlここで使用したサンプルソースコード:Qtサンプル13ここで使用しているHelpBrowserクラスは、Nokiaの著作物です。ソースコードに記載のライセンス条項を遵守してご利用ください。QtAssistantを使って表示するQtAssistantで表示させるのは、最も、一般的だと思います。QtAssistantで表示させてみましょう。以前のQtAssistantでは、表示のためのクラス(QAssistantClient)がありました。これは、一応、今でも動作すようですが、推奨されていませんので、ここでは、使いません。ここでは、推奨されているQtProcessを使った起動方法を簡単に記述します。ここでのサンプルは、以下のファイルから構成されています。mainプログラムです。MainWindowの画面を表示しているだけですので詳細な説明を省略します。QMainWindowを継承したMainWindowの画面ヘッダです。詳細な説明を省略します。MainWindowの画面のソースです。以降に詳細な説明をします。doc.qch,collection_doc.qhcを使います。HELP(Assistant)."));m_help_act->setEnabled(!m_help_exec);m_help_change_act->setEnabled(m_help_exec);}簡単に解説しておきます。12行目は、メニュー、ステータスバーを作成しているところです。25行目は、アクションを作成しているところです。m_help_act:QtAssistantを起動するアクションです。m_help_change_act:QtAssistantのページを切り替えるアクションです。m_exit_act:アプリケーションを終了するアクションです。28行目は、QtAssistantを起動するQProcessを作成しているところです。57行目は、QProcessを使ってQtAssistantを起動しているところです。詳細なコマンドパラメータについては、http://doc.trolltech.com/4.5/assistant-details.htmlを参照してください。64行目は、QProcessを使ってQtAssistantのページを切り替えているところです。詳細なコマンドパラメータについては、http://doc.trolltech.com/4.5/assistant-custom-help-viewer.htmlを参照してください。65行目以降は、QtAssistantのプロセスが開始したら、ページ切り替えアクションを有効にしています。QtAssistantのプロセスが終了したら、ページ切り替えアクションを無効にしています。起動後は、プロセス間通信に切り替わりますから、QByteArray(QtAssictantのコマンドパラメータを指定)で引き渡します。これをコンパイルして実行すると以下のような画面が表示されます。メニューだけの簡単な画面です。Fileメニューから、Helpをクリックしてみましょう。以下のようにQtAssistantが表示されると思います。Helpをクリックしてみましょう。以下のようにQtAssistantの表示が切り替わったと思います。ここでは、詳細な様々なコマンドについて、紹介をしませんでした。コマンドで、ほとんどの画面操作ができるようです。試されると良いと思います。詳細なコマンドパラメータ:http://doc.trolltech.com/4.5/assistant-custom-help-viewer.htmlQtヘルプファイル(qchファイル,qhcファイル)は、独自のQtアプリケーションの中で、表示させることもできます。続けて、独自のQtアプリケーションでの表示について簡単に解説したいと思います。独自のQtアプリケーションの中で表示する以下のようなQtAssistantのような画面を作成してみましょう。ここでのサンプルは、以下のファイルから構成されています。mainプログラムです。MainWindowの画面を表示しているだけですので詳細な説明を省略します。QTextBrowserを継承したHelpBrowserの画面ヘッダです。詳細な説明を省略します。HelpBrowserの画面のソースです。以降に詳細な説明をします。QMainWindowを継承したMainWindowの画面ヘッダです。詳細な説明を省略します。MainWindowの画面のソースです。以降に詳細な説明をします。url);}簡単に解説しておきます。loadResourceをオーバーロードしているだけです。コンストラクタでQHelpEngineをもらう以外は、何も変更点がありません。loadResourceのオーバーロードでは、QHelpEngineで、指定urlのHTMLドキュメントを探して、内容を返しています。300);}簡単に解説しておきます。10行目は、メニュー、ステータスバーを作成しているところです。15行目は、アクションを作成しているところです。m_exit_act:アプリケーションを終了するアクションです。21行目は、QHelpEngineを作成しているところです。collection_doc.qhcのフルパス情報を引数に渡しています。22行目は、先のHelpBrowserを作成しているところです。QHelpEngineを引数に渡しています。34行目は、QHelpEngineのコンテンツ画面でリンク情報がクリックされたら、先のHelpBrowserのsetSourceを起動するようにconnectしています。以外にシンプルに作成できます。これをコンパイルして実行すると先の画面が表示されます。コンパイル時は、以下のようにコマンドパラメータでQTHELPを取り込むか、.proへ追記する必要があります。"CONFIG+=HELP"ただし、ここで読めるQtヘルプファイルは、一部修正が必要となります。Qtヘルプファイルを作り直す必要があります。以外に簡単にできてしまうのに、少し驚きました。ここでは、紹介しませんでしたが、まだまだ、QtHelp関連のクラスはあります。QHelpSearchEngineでは、検索も行えます。使いこなせば、QtAssistantの機能を自分のアプリケーションのうまく埋め込むことができます。Qt関連について詳しく知りたい方は、以下の本なども良いと思います。Qtに関する日本語の本が少ないですね。「入門書」は、さすがに、このページを読まれるくらいの方は不要だと思います。本+ネット+試してみる!!の3本柱でやっていく以外にないように思います。2この記事を読んだ人は、こんな記事も読んでいます。使えそうな無料/有料レンタルサーバーで、いろいろなレンタルサーバを確認できます。/言語BOOSTC/C++htmlphpQtwin32++WTL書庫このサイトは?ウェブやソフトウェアに関するサポート&情報サイトです。サイト構築からソフトウェアの作成、利用まであなたの助けになるかも・・・・しれません。