Python:如何在画布中添加文本?

时间:2013-07-19 01:58:18

标签: text python-3.x tkinter

我已多次尝试将文本添加到画布中,但只需单击按钮或在画布外部添加即可。或者它会弹出一个单独的框。使用以下代码 -

def text():
    canvas.create_text(100,10,fill="darkblue",font="Times 20 italic bold",text="Click the bubbles that are multiples of two.")
    canvas.update

它从未奏效。所以我的问题是如何在画布中添加文字以开始游戏?

2 个答案:

答案 0 :(得分:11)

首先,第一段代码不起作用,因为您没有名为canvas的变量。但是,您有一个名为self.canvas的人。当我在第一段代码中使用self.canvas并将其添加到工作程序时,文本显示就好了。

此外,在第一段代码中,您执行canvas.update。这绝对没有效果,因为你没有尾随括号。如果你修复它会起作用,但它真的没用。输入事件循环后,文本将立即显示。

您需要做的就是在创建画布后立即添加一行:

self.canvas = Canvas(root, width=800, height=650, bg = '#afeeee')
self.canvas.create_text(100,10,fill="darkblue",font="Times 20 italic bold",
                        text="Click the bubbles that are multiples of two.")

答案 1 :(得分:-1)

  1. 使用fg代替fill参数
  2. 您的font值无效。进一步了解它。
  3. 记住canvas.update之后的括号