15

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

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

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

4

2 回答 2

34

一方面,第一段代码不起作用,因为您没有名为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.")
于 2013-07-19T02:15:55.360 回答
-1
  1. 使用fg而不是fill参数
  2. 您的font值无效。阅读更多关于它的信息。
  3. 记住后面的括号canvas.update
于 2020-02-12T12:39:51.823 回答