我尝试使用 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)
你应该用<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)

| 归档时间: |
|
| 查看次数: |
4250 次 |
| 最近记录: |