gpt4 book ai didi

c++ - 将自定义样式表应用于 QTextDocument

转载 作者:行者123 更新时间:2023-11-30 04:54:31 26 4
gpt4 key购买 nike

我想使用 setDefaultStyleSheet 函数将一些自定义样式表应用到 QTextDocument,但是它被忽略了。
根据this帖子我应该在设置html内容后添加样式表,但这并没有解决我的问题。
我的代码:

QString *html = new QString();
*html = "<tr>" + name + "</tr>"
"<tr>" + surname + "</tr>"
"<tr>" + age + "</tr></table>";
QTextDocument doc;
doc.setHtml(*html);
doc.setDefaultStyleSheet("table { border: 1px solid black; }"); // This should apply the style sheet

最佳答案

这里的问题是 table 属性 border(不要与 CSS 简写混淆)必须设置为大于或等于 1 的值,否则不会将显示边框。考虑这段代码:

QString *html = new QString();
*html = "<table border = 1> <tr>" + name + "</tr>"
"<tr>" + surname + "</tr>"
"<tr>" + age + "</tr></table>";
QTextDocument doc;
doc.setDefaultStyleSheet("table { border: 1px solid black}");
doc.setHtml(*html);

此外,您在回答中提到您必须在 设置 html 之后添加样式表,但是 docs对于 QTextDocument 似乎另有说明:

The default style sheet is applied to all newly HTML formatted text that is inserted >into the document, for example using setHtml() or QTextCursor::insertHtml().

因此,为什么 setDefaultStylesheet() 在上面的代码中 setHtml() 之前。

关于c++ - 将自定义样式表应用于 QTextDocument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53561836/

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