在 Qt 中获取 HTML 表格单元格宽度

Posted

技术标签:

【中文标题】在 Qt 中获取 HTML 表格单元格宽度【英文标题】:Getting HTML table cell width in Qt 【发布时间】:2013-01-31 14:08:31 【问题描述】:

我正在尝试创建一个 html 表格并在 Qt 中获取单元格宽度。

我创建了一个 HTML 表格:

QString css;
css = "<style type=\"text/css\">";
css += "table.tbl border-width: 1px;border-style: solid;border-color: black;margin-top: 0px;margin-bottom: 0px;color: black;";
css += "table.tbl td padding: 3px;";
css += "table.tbl th padding: 3px;";
css+="</style>";

QString text;
text="<table width=\"100%\" cellspacing=\"0\" class=\"tbl\">";
text+=("<tr><th>1</th><th colspan=\"2\">2</th><th>3</th><th></th></tr>");
text+=("<tr><td>1</td><td>2</td><td>3</td></tr>");
text+=("<tr><td colspan=\"2\">4</td><td>5</td><td>6</td></tr>");
text+=("<tr><td>7</td><td>8</td><td>9</td></tr>");
text+=("<tr><td>10</td><td>11</td><td>12</td></tr></table>");

我需要特定单元格的宽度。我找到了一个获取单元格宽度的 javascript 函数:

document.getElementById('tblID').rows[0].cells[0].offsetWidth

但我不知道如何在 Qt 中使用它。

【问题讨论】:

您是否需要将宽度推回某些 C++ 代码?您可能希望为此使用混合/WebKit 工具。您仍将使用该 javascript 位,然后通过信号将其发送回 C++。 【参考方案1】:

你会想看看在 QWebFrame 中使用 Qt 对象。你可能想从这里开始:

http://qt-project.org/doc/qt-4.8/qwebframe.html#addToJavaScriptWindowObject

Qt 支持通过信号和槽以及属性在 C++ 代码和 javascript 对象之间进行消息传递。

【讨论】:

以上是关于在 Qt 中获取 HTML 表格单元格宽度的主要内容,如果未能解决你的问题,请参考以下文章

宽度为 100% 的 HTML 输入文本框溢出表格单元格

如何用CSS 定制表格单元格的宽度和高度

UITableViewCell:获取单元格中 UILabel 的确切宽度

求 java用poi包读取excel单元格长度宽度的方法

图像未扩展表格单元格的宽度

达到固定宽度后防止在表格单元格上输入?