A point is the most simple graphics object that can be drawn. It is a small spot on the window.
代码:
# coding='utf-8'
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QPainter
from PyQt5.QtCore import Qt
import sys, random
class Gui(QWidget):
def __init__(self):
super(Gui, self).__init__()
self.start()
def start(self):
self.setGeometry(300, 300, 300, 190)
self.setWindowTitle('绘制点')
self.show()
# 触发绘图的slot
# Each time we resize the window, a paint event is generated.
def paintEvent(self, event) -> None:
# QPainter实例对象负责绘制所有低等级的绘图功能
qp = QPainter()
# 所有的绘图功能都得从QPainter实例对象的begin方法开始,\
# 一直到它的end方法结束.
# begin的参数:begin(self, QPaintDevice) -> bool
# 注意begin比end多一个参数: 将图形绘制到哪里
qp.begin(self)
# 具体的绘制过程被我们放到了我们自定义的函数里面
self.draw_points(event, qp)
qp.end()
def draw_points(self, event, qp):
# 设置绘图颜色为红色
qp.setPen(Qt.red)
# 得到主窗体的大小(宽,长)的二元组
size = self.size()
# 绘制1000个点
for i in range(1000):
# 在主窗体范围内随机区域绘制点
x = random.randint(1, size.width()-1)
y = random.randint(1, size.height()-1)
qp.drawPoint(x, y)
app = QApplication(sys.argv)
gui = Gui()
sys.exit(app.exec_())
运行结果:
image.png
网友评论