使用SimpleGUICS2Pygame库实时显示数据
时间: 2024-05-01 16:22:54 浏览: 136
SimpleGUICS2Pygame 是一个Python库,它允许您使用Pygame绘制简单的图形用户界面(GUI)。您可以使用它来实现实时数据可视化。下面是一个例子:
```python
import PySimpleGUI as sg
import numpy as np
import pygame
sg.theme('DarkAmber') # 设置主题
# 创建GUI窗口
layout = [[sg.Graph((800, 600), (0, 0), (800, 600), key='graph')],
[sg.Button('Exit')]]
window = sg.Window('Real-time Data Display', layout)
# 创建图形对象
graph = window['graph']
# 初始化Pygame
pygame.init()
# 设置字体
font = pygame.font.SysFont(None, 24)
# 开始事件循环
while True:
event, values = window.read(timeout=10) # 设置超时时间为10毫秒
if event == sg.WIN_CLOSED or event == 'Exit': # 窗口关闭或退出按钮被按下
break
# 生成随机数据
data = np.random.rand(100)
# 清空图形
graph.erase()
# 绘制数据
for i, value in enumerate(data):
x = i * 8
y = value * 600
graph.draw_line((x, 0), (x, y), width=2, color='blue')
# 绘制文本
text = font.render('Real-time Data Display', True, (255, 255, 255))
graph.draw_text('Real-time Data Display', (10, 10), text_surface=text)
# 更新画布
graph.blit(pygame.display.get_surface(), (0, 0))
# 关闭窗口
window.close()
```
这个例子使用了PySimpleGUI和Pygame库来创建一个GUI窗口,然后在窗口中绘制随机生成的数据。使用timeout参数可以让窗口每10毫秒更新一次,从而实现实时数据显示。您可以根据自己的需求修改代码以适应不同的数据源和可视化需求。
阅读全文