Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 是否可以将此框内居中的文本换成不同的颜色?_Python_Python 3.x_Pygame_Background Color_Centering - Fatal编程技术网

Python 是否可以将此框内居中的文本换成不同的颜色?

Python 是否可以将此框内居中的文本换成不同的颜色?,python,python-3.x,pygame,background-color,centering,Python,Python 3.x,Pygame,Background Color,Centering,我对Python非常陌生,我的Pi 4有一个显示器,它使用Pygame作为显示器。我有一个文本居中的框,如果可能的话,我希望框的内部背景是不同的颜色 我希望盒子的背景是RGB(141180235) 主显示为背景色=pg.COLOR(42117198),这是此框的内部 这可能吗 box = pg.Rect(645, 75, 180, 30) pg.draw.rect(screen, (255,255,255,), box , 1) # draw windspeed box

我对Python非常陌生,我的Pi 4有一个显示器,它使用Pygame作为显示器。我有一个文本居中的框,如果可能的话,我希望框的内部背景是不同的颜色 我希望盒子的背景是RGB(141180235) 主显示为背景色=pg.COLOR(42117198),这是此框的内部

这可能吗

 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
这是一个文本居中的框,因此仅更改文本的背景颜色将不起作用 如果只有一种颜色不同以显示变化,就会发生这种情况 的第四个参数是背景色。如果你想用不同的背景画一个盒子,只需要使用不同的背景颜色。如果跳过背景参数,则背景是透明的。
用于绘制具有特定颜色的矩形。绘制中心有透明背景的文本:

text=“”
如果skyData.status==sky.status\u正常:
text=“风向{}°”。格式(forecastData.angle)
ren=font.render(文本,1,pg.Color('black'))
方框=pg.Rect(645,75,180,30)
pg.draw.rect(屏幕,(141180235),方框)
绘图矩形(屏幕,(255255),方框,1)
ren\u rect=ren.get\u rect(中心=box.center)
screen.blit(任,任)
画框线(屏幕,画框颜色(“黑色”),(644,74),(825,74))——阴影框
画图线(屏幕,画图颜色(“黑色”),(644,74),(644,104))#阴影框

这两种方法都不起作用,因为这是一个框,框内的文本居中。请参阅第一篇文章中的编辑,了解其不起作用的原因t@Lewis我改变了答案。@Rabbid76谢谢:)