Python
 Computer >> コンピューター >  >> プログラミング >> Python

TkinterのCanvasウィジェットで背景色を動的に変更する方法

Canvasウィジェットは、Tkinterの中でも最も有用なウィジェットのひとつです。図形やオブジェクトを自由に描画できるだけでなく、豊富な機能を活用してアプリケーションを柔軟にカスタマイズできます。

Canvasウィジェットの背景色を変更するには、configure()メソッドを使用します。このメソッドのbgオプションに任意の色を指定することで、すでに作成済みのキャンバスの背景色を後から動的に切り替えることができます。

実装例

以下の例では、初期状態で背景色が「skyblue(スカイブルー)」のキャンバスウィジェットを作成し、ボタンをクリックすると背景色が「blue」に変化する仕組みを実装しています。

# 必要なライブラリをインポート
from tkinter import *

# tkinterフレームのインスタンスを作成
win = Tk()

# ウィンドウのサイズを定義
win.geometry("700x300")

# キャンバスの色を変更する関数
def change_color():
    canvas.configure(bg='blue')

# キャンバスウィジェットを作成
canvas = Canvas(win, bg='skyblue')
canvas.pack()

# ボタンを作成
button = Button(win, text="Change Color", font=('Helvetica 10 bold'), command=change_color)
button.pack()

win.mainloop()

実行結果

このコードを実行すると、スカイブルー色のキャンバスと「Change Color」ボタンが表示されたウィンドウが出力されます。

「Change Color」ボタンをクリックすると、change_color()関数が呼び出され、キャンバスの背景色が青色へと即座に変化します。

ポイント解説

configure()メソッドは、背景色以外にも幅・高さ・境界線など、ウィジェットのさまざまな属性を実行時に変更できる汎用的なメソッドです。また、色の指定には「red」「blue」などの色名のほか、「#1E90FF」のような16進数カラーコードも使用できます。状況に応じて使い分けることで、より表現力のあるGUIアプリケーションを構築できます。

  1. Tkinterウィジェットの境界線の色を設定・変更する方法をわかりやすく解説

    Tkinterアプリケーションを開発していると、ウィジェットの境界線(ボーダー)の色を変更したくなることがあります。実は、highlightbackground や highlightcolor といったプロパティを設定するだけで、簡単に境界線の色をカスタマイズできます。これらのプロパティは、ウィジェットにフォーカスがあるかどうかに応じて使い分けられます。highlightbackground はフォーカスがないときの境界線の色、highlightcolor はフォーカスがあるときの境界線の色を指定します。また、highlightthickness を設定すると、境界線の太さも調整可能です。サ

  2. 【iOS】メモアプリの背景色を変更する方法|ライト/ダーク切り替えと罫線・グリッド設定も解説

    iOSの標準「メモ」アプリを使っていると、背景が端末全体の表示設定に自動的に連動してしまう点に不便さを感じることがあります。ライトモードが有効なときは明るい背景に、ダークモードのときは暗い背景になり、個別にコントロールできないように見えます。しかし実は、iOSではメモごとの背景色を簡単に変更できます。この記事では、特定のメモだけ背景を変える方法、すべてのメモに一括で適用する方法、さらに罫線やグリッド背景を追加するカスタマイズ術まで、わかりやすく解説します。注意:メモアプリで異なる背景を設定するには、端末がiOS 13 / iPadOS 13以降である必要があります。古いバージョンをお使いの場合