在qtextdocument表中,边框未呈现红色,为什么?

在qtextdocument表中,边框未呈现红色,为什么?,qt,qtextdocument,Qt,Qtextdocument,我正在使用Qtextdocument生成一个报告,我已经以编程方式准备了一个表字符串作为html字符串,但是当我呈现它时,边框没有显示出来(图2) 在浏览器中我得到(图1) 但在我的Qt应用程序中,我得到了(图2) 下面是字符串示例: <html> <head> <style> table, th, td { white-space: nowrap; border: 1px solid black; border-collapse: collapse; p

我正在使用Qtextdocument生成一个报告,我已经以编程方式准备了一个表字符串作为html字符串,但是当我呈现它时,边框没有显示出来(图2)

在浏览器中我得到(图1)

但在我的Qt应用程序中,我得到了(图2)

下面是字符串示例:

<html>
<head>
<style>
table, th, td { white-space: nowrap; border: 1px solid black; border-collapse: collapse; padding: 2px 4px; text-align: center;}
</style>
</head>
 <body>
  <table width="100%">
  <colgroup span="2" style="border: 2px solid black;">
  <colgroup span="7" style="border: 2px solid black;">
  <colgroup span="7" style="border: 2px solid black;">
  <colgroup span="9" style="border: 2px solid black;">
  <colgroup span="8" style="border: 2px solid black;">
  <colgroup span="1" style="border: 2px solid black;">
    <tr> 
     <td colspan="2" > <img src="Log1.png" width="192" height="86"/></td> 
     <td colspan="31" > Title line1<br/>line2</td> 
     <td> <img src="Log2.png" width="86" height="86" /> </td> 
    </tr>
<tr>
  <td>Month:</td><td>june-19</td><td>01</td><td>02</td><td>03</td><td>04</td><td>05</td><td>06</td><td>07</td><td>08</td><td>09</td><td>10</td><td>11</td><td>12</td><td>13</td><td>14</td><td>15</td><td>16</td><td>17</td><td>18</td><td>19</td><td>20</td><td>21</td><td>22</td><td>23</td><td>24</td><td>25</td><td>26</td><td>27</td><td>28</td><td>29</td><td>30</td><td>31</td><td>Total</td>
 </tr>

 <tr>
  <td colspan="2">col span 2</td><td colspan="7">col span 7</td><td colspan="7">col span 7</td><td colspan="9">col span 9</td><td colspan="8">col span 8</td>
 </tr>
 <tr style="border:2px solid black;">
  <td colspan="34">long line sub title</td>
 </tr>
 <tr>
  <td rowspan="3">item1</td>
  <td>item1.1</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td></td><td></td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>29</td>
 <tr>
  <td>item1.2</td><td></td><td></td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>29</td>
 </tr>
 <tr style="border-bottom:2px solid black;">
  <td>item1.3</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>31</td>
 </tr>     
  <tr>
  <td rowspan="2">item2</td>
  <td>item2.1</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>31</td>
 <tr  style="border-bottom:2px solid black;">
  <td>item2.2</td><td>X</td><td></td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td></td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td></td><td>28</td>
 </tr>
 <tr>
  <td> item3</td>
  <td>item3.1</td><td>X</td><td>X</td><td>X</td><td>X</td><td></td><td></td><td></td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>X</td><td>28</td>
 </tr>
</table>
 </body>
</html>

表,th,td{空白:nowrap;边框:1px纯黑色;边框折叠:折叠;填充:2px 4px;文本对齐:中心;}
标题行1
第2行 月份:19010203040506070809101111213141516171819202122232425262728293031总计 第2列第7列第7列第9列第8列 长线副标题 项目1 项目1.1XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX29 项目1.2xxxxxxxxxxxxxxxxxxxxxxxxxxxx29 项目1.3xxxxxxxxxxxxxxxxxxxxxxxxxxxx 项目2 项目2.1XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX31 项目2.2xxxxxxxxxxxxxxxxxxxxxxxxx28 项目3 项目3.1XXXXXXXXXXXXXXXXXXXXXXXXXXXXX28
使用
QTextDocument
QLineEdit
的半备份方法似乎只支持HTML的一个子集,而不是使用
QWebEngineView
,如果这符合您的要求,您应该采用全面的方法

如果您的需求只是创建一个报告,那么用户不应该在
QLineEdit
中编辑该报告,您应该尝试
QWebEngineView
。我正在使用它在各种应用程序中创建报告,而PDF打印选项无疑是一项资产

以下内容对我很有用,并且很好地绘制了边界:

#include <QApplication>
#include <QWebEngineView>
#include <QIODevice>
#include <QFile>

int main(int argc, char** args) {
    QApplication app(argc, args);
    QFile file("./data/test.html");
    file.open(QIODevice::ReadOnly);
    QString content=QString::fromStdString(file.readAll().toStdString());
    auto webView = new QWebEngineView;
    webView->setHtml(content);
    webView->show();
    QObject::connect(&app, &QApplication::aboutToQuit, [&webView]()
        {
            webView->deleteLater(); // Prevents crash
        });
    app.exec();
}
#包括
#包括
#包括
#包括
int main(int argc,char**args){
QApplication应用程序(argc、args);
QFile文件(“./data/test.html”);
open(QIODevice::ReadOnly);
QString content=QString::fromStdString(file.readAll().toststring());
自动网络视图=新的QWebEngineView;
webView->setHtml(内容);
webView->show();
QObject::connect(&app,&QApplication::aboutToQuit,[&webView]()
{
webView->deleteLater();//防止崩溃
});
app.exec();
}

您是否有可以添加到问题中的问题?问题已更新