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

Tkinterでウィンドウからウィジェットを削除する方法

アプリケーション開発をしていると、不要になったウィジェットを画面から取り除きたい場面があります。Tkinterでは、destroy()メソッドを使うことで、ウィンドウやフレームからウィジェットを簡単に削除できます。削除用の関数を定義し、それをウィジェットに紐づけて呼び出すのが基本的な使い方です。

実装例

以下の例では、ボタンをクリックすると、ウィンドウ上のテキストラベルウィジェットが削除されるプログラムを作成しています。

#Import the tkinter library
from tkinter import *

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

#Set the geometry
win.geometry("650x450")

#Define a function to remove the text from the screen
def delete_text():
   text.destroy()

#Create a text widget
text= Label(win,text="This is a New Line", font=('Aerial bold', 20))
text.pack(pady=20)

#Create a button for Deleting Widget
Button(win, text= "Click Here", font=('bold',20), command=
delete_text).pack(pady=10)

win.mainloop()

実行結果

上記のコードを実行すると、次のような画面が表示されます。

Tkinterでウィンドウからウィジェットを削除する方法

ここで「Click Here」ボタンをクリックしてみましょう。すると、ラベルのテキストウィジェットがウィンドウから完全に削除され、画面から消えます。

Tkinterでウィンドウからウィジェットを削除する方法

補足:destroy()とpack_forget()の違い

なお、ウィジェットを一時的に非表示にしたいだけの場合は、pack_forget()メソッドを使用する方法もあります。pack_forget()はウィジェットを画面から隠すだけでオブジェクト自体は残るため、後で再表示することが可能です。一方、destroy()はウィジェットを完全に破棄するため、再利用できません。用途に応じて使い分けるとよいでしょう。

  1. TkinterのEntryウィジェットにデフォルトテキストを設定する方法

    TkinterのEntryウィジェットは、ユーザーが入力した1行のテキストを表示・取得するための基本的なGUI部品です。ログインフォームやサインアップフォームなど、ユーザーとのやり取りが必要なさまざまなアプリケーションで広く利用されています。 Entryウィジェットにデフォルトテキスト(初期表示テキスト)を設定したい場合は、insert()メソッドを使用します。挿入位置とデフォルトとして表示したいテキストを引数として渡すだけで、簡単に実装できます。 実装例 以下の例では、デフォルトテキストが設定されたEntryウィジェットを作成しています。 # tkinterライブラリをインポート from

  2. 【Python】Tkinterでテキストボックス(テキストウィジェット)の内容を削除する方法

    Tkinterには、ボタン、ダイアログボックス、各種ウィジェットなど、本格的なGUIアプリケーションを構築するための豊富な関数やモジュールが用意されています。複数行のテキストを扱えるテキストウィジェットを作成するには、Textウィジェットを使用します。これはコンストラクタとして機能し、親となるウィンドウやフレームを指定して呼び出します。作成したテキストウィジェットの内容を削除するには、組み込みメソッドdelete(first, last=None)を使います。このメソッドは、削除対象となる範囲(開始位置と終了位置)を引数として受け取ります。この記事では、クリックするとテキストボックス内の内容を