Мне нужна помощь в форматировании таблицы в Pygame.Проблема возникает при использовании ljust, rjust или center для исправления таблицы.При использовании ljust в обычной распечатке он выглядит так, как должен.Я использую screen.blit для отображения текста, вы также должны увидеть, что он начинается в том же месте.Я очень плохо знаком с Pygame и хочу начать изучать его, поэтому я и использую Pygame в первую очередь вместо другого графического модуля.
(Извините, я не знаю, как отобразить изображениеЯ предоставил ссылки на них)
https://imgur.com/a/k3dpVT9
Когда я делаю то же самое в Pygame, этовыключен. https://i.stack.imgur.com/d0vi3.png
Это примеры списков.
(
('Day', 'MAY 14', 'MAY 15', 'MAY 16', 'MAY 17', 'MAY 18', 'MAY 19', 'MAY 20', 'MAY 21',
'MAY 22', 'MAY 23', 'MAY 24', 'MAY 25', 'MAY 26', 'MAY 27', 'MAY 28'),
('Description', 'Partly Cloudy', 'Cloudy', 'Thunderstorms', 'Thunderstorms', 'Thunderstorms',
'Thunderstorms', 'Thunderstorms', 'PM Thunderstorms', 'Cloudy', 'AM Thunderstorms',
'Isolated Thunderstorms', 'Mostly Sunny', 'Partly Cloudy', 'Partly Cloudy', 'Isolated Thunderstorms'),
('High', '93°', '85°', '80°', '78°', '77°', '79°', '80°', '82°', '84°', '84°', '85°', '87°', '85°',
'85°', '85°'),
('Low', '69°', '66°', '66°', '67°', '67°', '67°', '67°', '65°', '65°', '65°', '65°', '62°', '64°', '63°', '65°'),
('Precip', '0%', '20%', '80%', '100%', '80%', '80%', '80%', '40%', '20%', '40%', '30%', '20%', '20%', '20%', '30%'),
('Wind', 'SSW 5 mph ', 'SSW 10 mph ', 'S 7 mph ', 'SSE 6 mph ', 'SSE 9 mph ', 'S 9 mph ', 'SSW 10 mph ',
'SSW 7 mph ', 'N 5 mph ', 'ESE 6 mph ', 'SE 8 mph ', 'WSW 6 mph ', 'SSE 6 mph ', 'SE 7 mph ', 'ESE 7 mph '),
('Humidity', '41%', '66%', '82%', '88%', '89%', '86%', '81%', '76%', '71%', '68%', '56%', '62%',
'66%', '65%', '68%'),
'92°',
'Feels Like 96°',
'Wake Forest, NC (27587) ',
('Today', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun', 'Mon'))
Вот кодиспользуется в Pygame.
width = 20
x = 230
for i in range(8):
weatherTable = font.render(("{} {} {} {} {} {} {}".format(weather[0][i].ljust(width),
weather[10][i].ljust(width),
weather[1][i].ljust(width),
weather[2][i].ljust(width),
weather[3][i].ljust(width),
weather[4][i].ljust(width),
weather[6][i].ljust(width))),
True, constWhite)
screen.blit(weatherTable, (300, x))
x = x + 20
Вот код для нормального форматирования.
tests = (
('Day', 'MAY 14', 'MAY 15', 'MAY 16', 'MAY 17', 'MAY 18', 'MAY 19', 'MAY 20', 'MAY 21',
'MAY 22', 'MAY 23', 'MAY 24', 'MAY 25', 'MAY 26', 'MAY 27', 'MAY 28'),
('Description', 'Partly Cloudy', 'Cloudy', 'Thunderstorms', 'Thunderstorms', 'Thunderstorms',
'Thunderstorms', 'Thunderstorms', 'PM Thunderstorms', 'Cloudy', 'AM Thunderstorms',
'Isolated Thunderstorms', 'Mostly Sunny', 'Partly Cloudy', 'Partly Cloudy', 'Isolated Thunderstorms'),
('High', '93°', '85°', '80°', '78°', '77°', '79°', '80°', '82°', '84°', '84°', '85°', '87°', '85°',
'85°', '85°'),
('Low', '69°', '66°', '66°', '67°', '67°', '67°', '67°', '65°', '65°', '65°', '65°', '62°', '64°', '63°', '65°'),
('Precip', '0%', '20%', '80%', '100%', '80%', '80%', '80%', '40%', '20%', '40%', '30%', '20%', '20%', '20%', '30%'),
('Wind', 'SSW 5 mph ', 'SSW 10 mph ', 'S 7 mph ', 'SSE 6 mph ', 'SSE 9 mph ', 'S 9 mph ', 'SSW 10 mph ',
'SSW 7 mph ', 'N 5 mph ', 'ESE 6 mph ', 'SE 8 mph ', 'WSW 6 mph ', 'SSE 6 mph ', 'SE 7 mph ', 'ESE 7 mph '),
('Humidity', '41%', '66%', '82%', '88%', '89%', '86%', '81%', '76%', '71%', '68%', '56%', '62%',
'66%', '65%', '68%'),
'92°',
'Feels Like 96°',
'Wake Forest, NC (27587) ',
('Today', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun', 'Mon'))
width = 15
for i in range(8):
print("{} {} {} {} {} {} {}".format(tests[0][i].ljust(width),
tests[10][i].ljust(width),
tests[1][i].ljust(width),
tests[2][i].ljust(width),
tests[3][i].ljust(width),
tests[4][i].ljust(width),
tests[6][i].ljust(width)))
Так, как вы можете видеть по коду и изображениям при условии, что я не могу получить правильное форматирование,и я не знаю, как исправить это, чтобы правильно отображаться.Вопрос в том, как текст создается в pygame и как я могу исправить форматирование в pygame, чтобы оно выглядело более аккуратно, спасибо!