与平台无关的实时画布绘制?

时间:2019-06-20 19:25:07

标签: python python-3.x graphics real-time

我想实时在画布上绘制,可能设置单个像素,绘制矩形等几何形状,并插入图像。

这就是我想要的样子:

from greatgui import Window, Canvas
from time import sleep

width = 640
height = 480

w = Window("My title", (width,height))
c = Canvas((width, height))

w.add(c)

i = 0

while True:
    c.putpixel((i, i), color=(255,255,255))
    i += 1
    w.update()
    sleep(0.1)

任何更复杂或设置成本更高的东西都是不可接受的。我很不走运吗?

我还没有找到一个不需要我执行以下操作的GUI框架示例:

  • 创建数十行样板代码和平台检查
  • 除了通过pip
  • 以外,还可以安装其他任何东西(尤其是手工编译!)。
  • 在某些框架中添加一些回调钩子
  • 将控制权转移到任何主循环
  • 放弃Pillow的ImageDraw模块的所有舒适性

1 个答案:

答案 0 :(得分:0)

到目前为止,https://www.pygame.org似乎是一个不错的选择:

import pygame
from time import sleep

pygame.init()
pygame.display.set_caption("My title")

screen = pygame.display.set_mode((640,480))

background_color = (255, 255, 255)

i = 0
running = True
while running:
    screen.fill(background_color)

    pygame.draw.rect(screen, (255, 0, 0), pygame.Rect(i, i, 40, 30))
    i += 1

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    pygame.display.flip()
    sleep(0.1)