是否可以在这个带有居中文本的框内部使用不同的颜色?

Is it possible to have the inside of this box with centred text a different colour?

我是 Python 的新手,我的 Pi 4 显示器使用 Pygame 作为显示器。我有一个文本居中的框,如果可能的话,我希望框的内部背景可以是不同的颜色 我希望盒子的背景是 RGB (141,180,235) 主要显示是 BACKGROUND_COLOR = pg.Color(42,117,198) 这就是这个盒子的内部。

这可能吗?

 box = pg.Rect(645, 75, 180, 30)
pg.draw.rect(screen, (255,255,255,), box , 1)  # draw windspeed box           
if skyData.status == sky.STATUS_OK: 
    ren = font.render("Wind Direction {}°".format(forecastData.angle), 1, pg.Color('black'), pg.Color(134,174,230))
else:
    ren = font.render("", 1, pg.Color('black'), pg.Color(185,208,240))
ren_rect = ren.get_rect(center = box.center)
screen.blit(ren, ren_rect)  
pg.draw.line(screen, pg.Color('black'), (644, 74), (825, 74)) #shade box
pg.draw.line(screen, pg.Color('black'), (644, 74), (644, 104))  #shade box

这是一个文本居中的 BOX,因此仅更改文本的背景颜色是行不通的 如果只有一个 - 颜色不同以显示变化,就会发生这种情况

render()的第4个参数是背景颜色。如果您想绘制一个具有不同背景的框,只需使用不同的背景颜色即可。如果跳过背景参数,背景是透明的。
使用 pygame.draw.rect 绘制具有特定颜色的矩形。在中心绘制一个透明背景的文本:

text = ""
if skyData.status == sky.STATUS_OK: 
    text = "Wind Direction {}°".format(forecastData.angle)
ren = font.render(text, 1, pg.Color('black'))

box = pg.Rect(645, 75, 180, 30)
pg.draw.rect(screen, (141,180,235), box)
pg.draw.rect(screen, (255,255,255,), box, 1)

ren_rect = ren.get_rect(center = box.center)
screen.blit(ren, ren_rect) 

pg.draw.line(screen, pg.Color('black'), (644, 74), (825, 74)) #shade box
pg.draw.line(screen, pg.Color('black'), (644, 74), (644, 104))  #shade box