QTextDocument默认样式表

时间:2015-05-11 14:56:07

标签: 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());

我想摆脱<p>代码

doc.setHtml("test 123");

我试过了

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; }");

编辑:

我也试过

doc.setDefaultStyleSheet("* { color : green; background-color : black; }");

1 个答案:

答案 0 :(得分:4)

您应该使用<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();
}

enter image description here