多行文字无法在视图中显示

时间:2015-11-20 11:33:36

标签: python module codeskulptor

我正在制作一个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 个答案:

答案 0 :(得分:0)

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')
    …

另请阅读 Tips 文档中的 SimpleGUICS2Pygame 部分。