我正试图在pygame中将列表blit到表面,但是行prompts = contactFont.render(fields, True, (171,0,0))
导致上述错误,我不知道为什么。
class AddPage(Page):
...
def textInputs(self):
fields = ["First Name:", "Last Name:", "Address:", "Mobile:", "Telephone:", "Email:"]
contactFont = pygame.font.SysFont("trebuchet ms", 18)
y = 20
for i in fields:
#Error here
prompts = contactFont.render(fields, True, (171,0,0))
self.intermediate2.blit(prompts, (5,y))
pygame.draw.line(self.intermediate2, (0,0,0), (5, (y+20)), (320, (y+20)), 1)
y += 30
我尝试使用fields
将[x.encode('utf-8') for x in fields]
列表编码为unicode但是没有发生什么,是什么给出了?
答案 0 :(得分:2)
Font.render()
将字符串作为第一个参数,但您将传入整个fields
列表。
我想传递i
,我认为:
for i in fields:
prompts = contactFont.render(i, True, (171,0,0))
我在这里使用比i
更具描述性的名称;或许field
或prompt
是更好的选择。