【问题标题】:Python: how to add text inside a canvas?Python:如何在画布内添加文本?
【发布时间】:2013-07-18 04:49:00
【问题描述】:

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

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

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

【问题讨论】:

    标签: text python-3.x tkinter


    【解决方案1】:

    首先,代码的第一个 sn-p 不起作用,因为您没有名为 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.")
    

    【讨论】:

    • 谢谢您...很抱歉浪费您的时间。我完全忘记将画布更改为 self.canvas。 ._.
    【解决方案2】:
    1. 使用fg 而不是fill 参数
    2. 您的font 值无效。阅读更多相关信息。
    3. 记住canvas.update后面的括号

    【讨论】:

    • crate_text 采用填充而不是 fg 选项,字体值可以在画布中作为字符串提供
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 2013-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多