如何單擊 Tkinter 中的按鈕來建立新視窗

Jinku Hu 2020年6月25日
如何單擊 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 視窗控制元件旨在顯示額外的 pop-up 視窗。

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

作者: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

DelftStack.com 創辦人。Jinku 在機器人和汽車行業工作了8多年。他在自動測試、遠端測試及從耐久性測試中創建報告時磨練了自己的程式設計技能。他擁有電氣/ 電子工程背景,但他也擴展了自己的興趣到嵌入式電子、嵌入式程式設計以及前端和後端程式設計。

LinkedIn Facebook

相關文章 - Tkinter Button