私は何度もキャンバスにテキストを追加しようとしましたが、ボタンをクリックするか、キャンバスの外側にしかテキストを追加できません。または、別のボックスに表示されます。以下のコードを使用して
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
うまくいきませんでした。私の質問は、キャンバスにテキストを追加してゲームを開始するにはどうすればよいですか?
まず、canvas
という名前の変数がないため、最初のコードスニペットは機能しません。ただし、self.canvas
という名前があります。そして、コードの最初のビットでself.canvas
を使用して、それを作業プログラムに追加すると、テキストは問題なく表示されます。
また、コードの最初のビットでは、canvas.update
を実行します。末尾の括弧がないため、効果はまったくありません。修正すれば機能しますが、実際には役に立ちません。イベントループに入るとすぐにテキストが表示されます。
必要なのは、キャンバスを作成した直後に1行追加することだけです。
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.")
fg
引数の代わりにfill
を使用しますfont
の値が無効です。それについてもっと読んでください。canvas.update
の後の括弧について覚えておいてください