Tkinter のボタンをクリックして新しいウィンドウを作成する方法

胡金庫 2021年3月24日
Tkinter のボタンをクリックして新しいウィンドウを作成する方法

このチュートリアルでは、Tkinter のボタンをクリックして、新しい Tkinter ウィンドウを作成して開く方法を示します。

新しい Tkinter ウィンドウを作成する

import tkinter as tk


def createNewWindow():
    newWindow = tk.Toplevel(app)


app = tk.Tk()
buttonExample = tk.Button(app, text="Create new window", command=createNewWindow)
buttonExample.pack()

app.mainloop()

通常、tk.Tk() を使用して新しい Tkinter ウィンドウを作成しますが、上記のコードに示すように root ウィンドウを既に作成している場合は無効です。

この状況で、Toplevel は要求機能を正確に実現するためのウィジェットです。Toplevel ウィジェットは追加のポップアップウィンドウを表示します。ことを目的としているためです。

buttonExample = tk.Button(app, text="Create new window", command=createNewWindow)

createNewWindow 関数をボタンにバインドします。

上記の例では新しいウィンドウは空のウィンドウであり、通常の root ウィンドウにウィジェットを追加するのと同じようにウィジェットを追加できますが、親ウィジェットを作成された Toplevel ウィンドウに変更する必要があります。

import tkinter as tk


def createNewWindow():
    newWindow = tk.Toplevel(app)
    labelExample = tk.Label(newWindow, text="New Window")
    buttonExample = tk.Button(newWindow, text="New Window button")

    labelExample.pack()
    buttonExample.pack()


app = tk.Tk()
buttonExample = tk.Button(app, text="Create new window", command=createNewWindow)
buttonExample.pack()

app.mainloop()

ご覧のように、labelExamplebuttonExample の親ウィジェットは newWindow であり、app ではありません。

著者: 胡金庫
胡金庫 avatar 胡金庫 avatar

DelftStack.comの創設者です。Jinku はロボティクスと自動車産業で8年以上働いています。自動テスト、リモートサーバーからのデータ収集、耐久テストからのレポート作成が必要となったとき、彼はコーディングスキルを磨きました。彼は電気/電子工学のバックグラウンドを持っていますが、組み込みエレクトロニクス、組み込みプログラミング、フロントエンド/バックエンドプログラミングへの関心を広げています。

LinkedIn Facebook

関連記事 - Tkinter Button