小编gar*_*lix的帖子

QTextDocument HTML表格宽度

我正在努力解决QT5问题。我正在尝试构建(然后在QPainter对象上绘制)HTML表。这是我的代码:

QTextDocument td;
QString table_style= QString("<style type=\"text/css\">"
                             ".tg  { table-layout: fixed; width: 200px; }"
                             ".tg td{padding-bottom: 5px;border-style:solid;border-width:0px;}"
                             ".tg .tg-3x1q{color: rgba(255, 255, 255, 0.5); text-align:right}"
                             ".tg .tg-6bqv{color: rgba(255, 255, 255, 0.5); padding-left: 5px;}"
                             "</style>");

QString table_html = QString(" <table width=\"500px\" class=\"tg\">"
                             "<tr>"
                               "<td class=\"tg-3x1q\" width=\"150px\">1</td>"
                               "<td class=\"tg-6bqv\" width=\"150px\"><sup>th</sup></td>"
                             "</tr>"
                             "<tr>"
                               "<td class=\"tg-3x1q\" width=\"150px\">2</td>"
                               "<td class=\"tg-6bqv\" width=\"150px\"><sup>rpm</sup></td>"
                             "</tr>"
                             "<tr>"
                               "<td class=\"tg-3x1q\" width=\"150px\">3</td>"                   
                               "<td class=\"tg-6bqv\" width=\"150px\"><sup>km/h</sup></td>"
                             "</tr>"
                             "</table>");

td.setDefaultStyleSheet(table_style);
td.setHtml(table_html);
td.drawContents(painter);
Run Code Online (Sandbox Code Playgroud)

该表正确显示在画家中,但没有固定的列宽。为了达到该结果,我几乎尝试了所有方法:

  • 不支持table-layout: fixedQT的文档中进行设置,但支持该功能(但宽度为!)
  • 设置width带或不带双引号(相对或绝对) …

html qt qtextdocument

1
推荐指数
1
解决办法
2340
查看次数

标签 统计

html ×1

qt ×1

qtextdocument ×1