Многострочный текст невозможно отобразить
Я делаю проект на Python, и мне нужно было распечатать правила на экране. Я использую модуль simplegui и вот что у меня есть.
text = """You will be given a number
and a number of operations. The number
on the top is the answer to the problem.
You must fill the blanks with numbers that
make the answer. Hit enter when you are
done, hit delete to go back."""
canvas.draw_text(text, (150, 250), 30, 'white')
Это дало мне ошибку:
ValueError: text may not contain non-printing characters
Как я могу исправить эту ошибку?
1 ответ
Решение
draw_text()
Функция не может рисовать мультилинии. Вы должны нарисовать линию за линией.
Но... я написал функцию для рисования мультилинии: draw_text_multi()
Вы должны импортировать simplegui_lib_draw
модуль, потому что он не является функцией CodeSkulptor.
try:
import simplegui
import user40_AeChfAkzlcqs3wG as simplegui_lib_draw
except ImportError:
import SimpleGUICS2Pygame.simpleguics2pygame as simplegui
import SimpleGUICS2Pygame.simplegui_lib as simplegui_lib_draw
def draw(canvas):
…
draw_text_multi(canvas,
"""line 1
line 2
line 3""", (x, y), size, 'white', 'serif')
…
Читайте также раздел " Советы " в документации SimpleGUICS2Pygame.