QTextDocument 默认样式表

use*_*761 5 css qt stylesheet

我尝试使用 QTextDocument 在 QImage 上绘制文本。如何设置默认(“body”)样式?

目前我使用一个<p>标签,像这样

QPainter painter(_image);
QTextDocument doc;
doc.setDefaultStyleSheet("p { color : green; background-color : black; }");
doc.setHtml("<p>test 123</p>");
doc.drawContents(&painter,_image->rect());
Run Code Online (Sandbox Code Playgroud)

我想去掉<p>标签

doc.setHtml("test 123");
Run Code Online (Sandbox Code Playgroud)

我试过了

doc.setDefaultStyleSheet("body { color : green; background-color : black; }");
doc.setDefaultStyleSheet("{ color : green; background-color : black; }");
doc.setDefaultStyleSheet("color : green; background-color : black; ");
doc.setDefaultStyleSheet("QImage { color : green; background-color : black; }");
Run Code Online (Sandbox Code Playgroud)

编辑:

我也试过

doc.setDefaultStyleSheet("* { color : green; background-color : black; }");
Run Code Online (Sandbox Code Playgroud)

svl*_*sov 7

你应该用<body>标签包装内容:

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QTextDocument doc;
    doc.setDefaultStyleSheet("body { color : green; background-color : black; }");
    doc.setHtml("<body>test 123</body>");

    QTextEdit textEdit;
    textEdit.setDocument(&doc);
    textEdit.show();

    return app.exec();
}
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明