Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ความแตกต่างระหว่างคลาส Tk และ Toplevel ของ Tkinter


หน้าต่าง Tkinter ถูกสร้างโดยการสร้างออบเจกต์ Tk ก่อน มันเป็นส่วนขั้นต่ำของแอปพลิเคชัน Tkinter ใดๆ ที่ช่วยสร้างแอปพลิเคชัน Tk ช่วยสร้างบล็อกก่อสร้างพื้นฐานของแอปพลิเคชัน เช่น หน้าต่างแอปพลิเคชันที่วาง widget ทั้งหมด

อย่างไรก็ตาม Toplevel classes ช่วยสื่อสารผ่าน widget ภายในของแอปพลิเคชันหลัก หนึ่งในตัวอย่างของ toplevel classes คือหน้าต่าง Toplevel ที่แสดง child window นอกเหนือจากหน้าต่างหลักของแอปพลิเคชัน หน้าต่าง Toplevel ทำงานเหมือน Tk เพราะมันก็สามารถมี widget และฟังก์ชันได้เช่นกัน

ตัวอย่าง

# นำเข้าไลบรารีที่จำเป็น
from tkinter import *

# สร้างอินสแตนซ์ของ Tkinter Frame
win = Tk()
# กำหนดขนาด
win.geometry("700x350")

# ตั้งค่าสีพื้นหลังเริ่มต้นของหน้าต่าง
win.config(bg='#acc7df')

def open_win():
    # สร้างปุ่มเพื่อเปิด Toplevel Window
    top = Toplevel(win)
    top.geometry("700x250")
    top.title("Child Window")
    # สร้าง label ใน Toplevel window
    Label(top, text="Hello World!")

Button(win, text="Click Me", background="white", foreground="red3", font=('Helvetica 13 bold'), command=open_win).pack(pady=50)

win.mainloop()

ผลลัพธ์

การรันโค้ดจะแสดงหน้าต่างที่มีปุ่ม

ความแตกต่างระหว่างคลาส Tk และ Toplevel ของ Tkinter

ตอนนี้ คลิกปุ่ม "Click Me" เพื่อเปิด child window

ความแตกต่างระหว่างคลาส Tk และ Toplevel ของ Tkinter