QTextDocument默认样式表

问题描述 投票:1回答:1

我尝试使用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; }");
css qt stylesheet
1个回答
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();
}

© www.soinside.com 2019 - 2024. All rights reserved.