本文整理汇总了Python中renderer.Renderer.paint方法的典型用法代码示例。如果您正苦于以下问题:Python Renderer.paint方法的具体用法?Python Renderer.paint怎么用?Python Renderer.paint使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类renderer.Renderer
的用法示例。
在下文中一共展示了Renderer.paint方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: Viewer
# 需要导入模块: from renderer import Renderer [as 别名]
# 或者: from renderer.Renderer import paint [as 别名]
class Viewer(QWidget):
def __init__(self, window):
super().__init__(window)
self.setGeometry(8, 8, 463, 463)
self.window = window
self.renderer = Renderer()
self.bg_color = Qt.white
self.fg_color = Qt.black
self.should_clear_viewer = False
self.pen_size = None
self.animation_speed = None
self.pen = None
self.set_pen_size(1)
self.set_animation_speed(50)
def paintEvent(self, event):
painter = QPainter()
try:
painter.begin(self.window)
self.update_bg(painter)
painter.setPen(self.pen)
self.renderer.paint(painter)
if self.should_clear_viewer:
self.clear_viewer(painter)
self.update()
finally:
painter.end()
def render(self, commands):
self.reset_values()
self.renderer.render(commands)
self.renderer.start_animations(self.animation_speed)
def clear(self):
# Invokes 'clear_viewer' method which requires a QPainter
self.should_clear_viewer = True
def clear_viewer(self, painter):
# Draws a fill rect over viewer to clear it
painter.fillRect(QRect(10, 10, 460, 460), QBrush(self.bg_color))
def reset_values(self):
self.should_clear_viewer = False
def set_bg_color(self, color):
self.bg_color = color
def set_fg_color(self, color):
self.fg_color = color
self.update_pen()
def set_pen_size(self, size):
self.pen_size = size
self.update_pen()
def set_animation_speed(self, speed):
self.animation_speed = 100 - speed
def get_drawing_point_pos(self):
if self.renderer.drawing_point:
return self.renderer.drawing_point.get_position()
def update_pen(self):
self.pen = QPen(self.fg_color, self.pen_size, Qt.SolidLine)
def update_bg(self, painter):
painter.setBrush(self.bg_color)
painter.drawRect(9, 9, 461, 461)