QT开发--Qpainter使用

如何使用

   QPainter在屏幕上绘制某些东西,基本上您要做的就是告诉它应该绘制哪种类型的图形(文本,矢量形状,图像,多边形等)及其位置和大小。
   QPen确定图形的轮廓,例如颜色,线宽,线型(实线,虚线,点线等),盖帽样式,连接样式等。
   另一方面,QBrush设置图形背景的样式,例如背景色,图案(纯色,渐变,浓密画笔,对角线交叉等)和像素图。图形的选项应在调用绘图函数之前设置(drawLine()drawRect()drawEllipse()等)。
   如果你的图形未出现在屏幕上,并且看到诸如QPainter :: setPen:Painter无效和QPainter :: setBrush:Painter无效的警告出现在Qt Creator的应用程序输出窗口中,则表明QPainter类当前未处于活性 并且您的程序将不会触发其绘画事件。
要解决此问题,请将主窗口设置为QPainter类的父级。
   通常,如果要在mainwindow.cpp文件中编写代码,则只需在初始化QPainter时将其放在方括号中即可。 例如:QPainter linePainter(this); QImage可以从计算机目录和程序资源中加载图像。

   可以将QPainter想象成一个带有笔和一块空画布的机器人。您只需要告诉机器人应该绘制哪种形状以及其在画布上的位置,然后机器人就会根据您的描述执行其工作。为了使您的生活更轻松,
   QPainter类还提供了许多函数,例如:
drawArc()
drawEllipse()
drawLine()
drawRect()
drawPie()等,使您可以轻松呈现预定义的形状。

   在Qt中,所有小部件类(包括主窗口)都有一个名为QWidget :: paintEvent()的事件处理程序。每当操作系统认为主窗口应重新绘制其窗口小部件时,都会触发此事件处理程序。
   许多事情都会导致该决定,例如缩放主窗口,更改其状态的小部件(即按下按钮)或在代码中手动调用诸如repaint()或update()之类的功能。在决定是否触发更新时,不同的操作系统可能会有不同的行为 在相同条件下发生的事件。
   如果要编写需要连续且一致的图形更新的程序,请使用计时器手动调用repaint()update()

你可能感兴趣的:(c++,qt)