ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

QtコミュのHelp画面のPATHについて

  • mixiチェック
  • このエントリーをはてなブックマークに追加
ヘルプメニューをつくっています。

やり方はhtmlファイルを読み込んで
QtextBrowserに表示させるものです。
index.htmlファイルは読むことができます

そこから下のファイル読み込んでトップ(index.html)にいき
もう一度下のファイルに行くと真っ白な画面になってしまいます。htmlファイルのパスは

html\index.html
html\test1.html

という具合にhtmlの下においています
*.proにCONFIG+=consoleをつけ
コンパイルすると
htmlがダブり
真っ白な画面の部分のエラーは
html\html\test1.html
という具合にhtmlが一個多くついてしまいます。

QtextBrowserの部分の
ソースは以下のとおりです

HelpWindow::HelpWindow()
{
// openAssistant();
  setReadOnly(true);
  QFile file("html/index.html");
  QTextStream out(&file);
  out.setCodec("UTF-8");
if(file.open(QIODevice::ReadOnly))
setHtml(out.readAll());
   setWindowTitle(tr("How to use"));
   resize(750, 400);
}

//index.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>タイトル</title>
</head>
<body style="font-size:12pt;font-family:helvetica">
<BR>
<BR>
<p><center><h2>タイトル</h2></center></p>
<BR>
<BR>
<p>
  文章
</p>
<BR>
<BR>
<p>
</p>

<ul>
<li><a href="html/test1.html">Test1</a></li>
<ul>
</ul>
</body>
</html>


// html/test1.html


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>タイトル</title>
</head>
<body style="font-size:12pt;font-family:helvetica">
<BR>
<BR>
<p><center><h2>テスト1</h2></center></p>
<BR>
<BR>
<p>
 1.タイトル
</p>
<BR>
<p><center>
<img src="images/screen1.png" />
</center></p>
<BR>
<p><center>
   文章1
      文章2
   </center></p>

<ul>
<li><a href="index.html">戻る</a></li>
</ul>
<HR>
Copyright (C) 2001-2007 licksjp All rights reserved
</body>
</html>


//EOF

index.htmlからtest1.htmlに行く動作を繰り返すと真っ白な画面になり、その部分を見るとパスがどうしてもずれてしまいます。
どうしても回避できません
どこがおかしいのでしょうか?
環境はQt4.3です

コメント(5)

ども。初めまして。

確認しましたが、html側は大丈夫ですか?
index.html内のaタグにあるパス指定("html/")は要らないように見えるのですが…。

まずは普通のブラウザでドキュメント移動の確認してみてはいかがでしょう?
QTextBrowser なので QTextStream は使いません。
HTML ファイルの html/ は付けません。

HelpWindow が QTextBrowser のサブクラスならば、
バイナリプログラムのあるディレクトリの html ディレクトリに
HTML ファイルがあるとすると、以下のようにすれば
index.html が参照している HTML ファイルも見れます。

setSearchPaths(QStringList() << QApplication::applicationDirPath() + "/html");
setSource(QUrl("index.html"));

か、

QUrl url;
url.setPath(QApplication::applicationDirPath() + "/html/index.html" );
setSource(url);

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Qt 更新情報

Qtのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング