Qt中使用QPainter进行绘图和填充的详细指南
1. 接受QPainter图形命令的类
在Qt中,有几个类可以接受QPainter的图形命令,以下是这些类及其功能的介绍:
| 类名 | 描述 |
| ---- | ---- |
| QPicture | 可以接受QPainter的图形命令并记录它们。这些命令随后可以在另一个QPaintDevice对象上绘制,也可以写入文件以便后续恢复。 |
| QPixmap | 可以使用QPainter直接在QPixmap对象上进行绘制和填充。当需要修改现有的像素图图形,或者要绘制的图形非常复杂,只希望绘制一次时,可以使用此方法。 |
| QPrinter | 绘制到QPrinter对象的图形将被转换为PostScript并发送到打印假脱机程序(如lp、lpr等)。QPrinter有一些分页方法,如设置页面大小、将当前页面发送到打印机、设置方向等。 |
| QWidget | 每个可显示的对象都是QWidget,因此可以直接在任何显示的对象上进行绘制和填充。空的小部件效果最佳,因为如果小部件本身已经有一些图形(如按钮上的文本),小部件的图形可能会与你绘制的图形冲突。 |
2. 使用QWidget和paintEvent()进行绘图
在Qt中,绘图通常在 paintEvent() 方法中完成。当小部件需要绘制(或重新绘制)时,会调用此方法。例如,当程序启动、窗口暴露、调整大小或移除遮挡窗口时,都会调用 paintEvent() 方法。每次调用此方法时,窗口已经被清除为背景颜色,因此不需要进行擦除操作,程序只需渲染绘图即可。
超级会员免费看
订阅专栏 解锁全文
1419

被折叠的 条评论
为什么被折叠?



