gpt4 book ai didi

html - HTML 表格中的双线

转载 作者:太空宇宙 更新时间:2023-11-04 13:22:33 25 4
gpt4 key购买 nike

我在 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>7</td><td>8</td><td>9</td></tr>");
text+=("<tr><td>7</td><td>8</td><td>9</td><td>8</td><td>9</td></tr>");
text+=("<tr><td>7</td><td>8</td><td>9</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>");

然后我打印成pdf文档:

QPrinter printer;
printer.setOrientation(QPrinter::Landscape);
printer.setPageMargins(10,10,10,50,QPrinter::Millimeter);
QTextDocument *document=new QTextDocument();
document->setHtml(css+text);
QPrintDialog *dlg = new QPrintDialog(&printer, this);
if (dlg->exec() != QDialog::Accepted)
return;
document->print(&printer);

我的表格只有单边框,但第三列和第四列之间有双线?我怎样才能摆脱它?由于我的声誉,我不能使用图片标签,但我的 table 图片在这里:http://imgur.com/KW3pZEf

抱歉我的英语不好。

最佳答案

我知道这是一个老问题,但还没有得到解答。自上周以来,我一直在使用 QTextBrowser 处理 QT 和 HTML 表格,所以这个问题引起了极大的兴趣。在您的代码中,您为 td 和 th 设置了相等的填充“3px”:

css += "table.tbl td {padding: 3px;}";
css += "table.tbl th {padding: 3px;}";

我认为这就是问题所在。由于 'th' 有自己的内置填充,您需要将其自定义填充减少 1px。将上面的代码替换为

css += "table.tbl td {padding: 3px;}";
css += "table.tbl th {padding: 2px;}";

应该可以解决问题。这是我修改你的代码后的结果。

enter image description here

关于html - HTML 表格中的双线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14588692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com