1

私は Qwebkit を使用しており<tr><td>...my data ...</td></tr>、テーブルの最初のレコード ( ) として最後に来る各データ入力を html テーブルに挿入できるようにしたいと考えています。これが私のコードです。これは単なる例です:

ui.webView->page()->mainFrame()->setHtml("<html><body><p>HTML Table Test</p>"
                                            "<table id=\"mainTable\" name=\"mainTable\" BORDER=1 BORDERCOLOR=RED></table>"
                                             "</body></html>");
    QWebElement body = ui.webView->page()->mainFrame()->documentElement();
    QWebElement mainTable = ui.webView->page()->mainFrame()->findFirstElement("#mainTable");
    mainTable.appendInside ("<tr><td>1111111<\/td></\tr>");      ///<-- this is i like to be last in the end
    mainTable.appendInside ("<tr><td>2222222<\/td></\tr>");      ///<-- this is i like to be in the middle
    mainTable.appendInside ("<tr><td>3333333<\/td></\tr>");     ///<-- this is i like to be in the first

レコードのコンテンツは、ここで示したものとは異なり、動的に取得されるため、ハード コードすることはできません。要するに、ここにLIFOアルゴリズムが必要です..

どうすればいいですか?

4

1 に答える 1

3

このQWebElement::appendInsideメソッドは、パラメーターを Web 要素の末尾に追加します。このQWebElement::prependInsideメソッドは、パラメーターを Web 要素の先頭に追加します。

QWebElement *elt次のような空のテーブルを含むがある場合:

<table><table>

次のテーブルを作成するには、

<table>
  <tr><td>A</td></tr>
  <tr><td>B</td></tr>
  <tr><td>C</td></tr>
</table>

次の 2 つの方法のいずれかを使用できます。これらは同等です。

方法 1、appendInside を使用

elt->appendInside("<tr><td>A</td></tr>");
elt->appendInside("<tr><td>B</td></tr>");
elt->appendInside("<tr><td>C</td></tr>");

または方法 2、prepredInside を使用

elt->prependInside("<tr><td>C</td></tr>");
elt->prependInside("<tr><td>B</td></tr>");
elt->prependInside("<tr><td>A</td></tr>");

prependInsideorを使用appendInsideすると、アルゴリズムの FIFO または LIFO 動作を制御できます。

于 2010-05-04T09:56:11.917 に答える