我想将文本旋转 45 度?
QFont font;
font.setPixelSize(12);
//grid
for(int i = 0; i < 10; i++){
painter->drawLine(100, 100 + i * 800/9, 900, 100 + i * 800/9);
str = QString::number((double)9 - i, 'd', 1);
painter->setFont(font);
painter->drawText(75, 100 + i * 800/9 - 6, 40, 40, 1, str);
}
原文由 jdl 发布,翻译遵循 CC BY-SA 4.0 许可协议
在
painter->drawText(75, 100 + i * 800/9 - 6, 40, 40, 1, str);
和painter->rotate(-45);
之后插入painter->rotate(45);
(恢复坐标系的旋转角度):根据您的意思是顺时针还是逆时针 45 度,您可能需要否定旋转角度。
旋转坐标系后,您绘制的所有内容都将旋转绘制,直到您恢复画家。保存和恢复画家状态的一种便捷方法是使用
QPainter::save()
和QPainter::restore()
。