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

Tkinterでキャンバスアイテムを表示および非表示にする方法は?


Canvasウィジェットは、Tkinterの用途の広いウィジェットの1つです。これは、デザイン、画像の追加、グラフィックの作成など、グラフィカルユーザーインターフェイスを設計するための多くのアプリケーションで使用されます。Canvasウィジェット自体にウィジェットを追加できます。キャンバス内にあるウィジェットは、「キャンバスアイテム」と呼ばれることもあります。

ボタンを使用してキャンバスアイテムを表示または非表示にする場合は、「状態」を使用してこれを実現できます。 "itemconfig( id、state のプロパティ )メソッド。

この例では、キャンバスに画像を追加し、ボタンを使用してキャンバス内の画像を表示/非表示にします。

# Import the required libraries
from tkinter import *
from tkinter import ttk
from PIL import Image, ImageTk

# Create an instance of tkinter frame or window
win = Tk()

# Set the size of the window
win.geometry("700x350")

# Globally Declare the Boolean value
show = True

def on_click():
   global show

   # Determine if the image is hidden or not
   if show:
      canvas.itemconfig(1, state='hidden')
      show = False
   else:
      canvas.itemconfig(1, state='normal')
      show = True

# Add a Canvas widget
canvas = Canvas(win, width=440, height=300)
canvas.pack()

# Add image to the canvas
img = ImageTk.PhotoImage(file="bird.jpg")
canvas.create_image(200, 200, image=img, anchor=CENTER)

# Add a Button to Show/Hide Canvas Items
ttk.Button(win, text="Show/Hide", command=on_click).pack()

win.mainloop()

出力

上記のコードを実行すると、画像付きのウィンドウと、画像を表示および非表示にする機能をトリガーするボタンが表示されます。

Tkinterでキャンバスアイテムを表示および非表示にする方法は?

次に、ボタンをクリックして画像を表示/非表示にします。


  1. キャンバスで画像を中央に配置する方法PythonTkinter

    Tkinterを使用してGUIベースのアプリケーションを作成していて、Tkinterキャンバスに画像をロードしたいとします。 デフォルトでは、キャンバスはその幅と高さに応じて画像をロードしますが、「方向」を渡すことで、画像の位置を任意の方向(N、S、E、W、NS、EWなど)に操作できます。アンカーパラメータの値。アンカーは、画像関数とともに呼び出されるパラメータです。キャンバス内の画像の方向または位置を定義します。 アンカーパラメータを使用することで、テキストと画像を任意の方向に揃えることができます。今のところ、ラベルを使用して画像ラベルを作成します そのような機能、 Label(root

  2. Windows 10で特定のコントロールパネルアイテムを表示/非表示にする方法は?

    コントロールパネルは、システム設定を構成する機能を提供するWindowsコンポーネントです。以前のオペレーティングシステムは、システムのデフォルト設定コンポーネントとしてコントロールパネルを引き続き使用します。ただし、コントロールパネルの項目は、標準ユーザーに合わせてカスタマイズできます。管理者は、コントロールパネルの任意の項目を表示および非表示にすることができます。これは、一部の設定を非表示にしておくための最良の方法であるため、ユーザーはそれらを頻繁に変更できなくなります。この記事では、コントロールパネルのアイテムを非表示または表示する方法について説明します。 特定のコントロールパネルアイ