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

วิธีแสดง Canvas หลายอันพร้อมกันใน Tkinter

วิджชั่น Canvas เป็นหนึ่งในวิджชั่นที่หลากหลายใน Tkinter ใช้สร้างภาพประกอบ วาดรูปทรง โค้ง รูปภาพ และเลย์เอาต์ซับซ้อนอื่นๆ ในแอปพลิเคชัน ในการสร้าง Canvas widget คุณต้องสร้างคอนสตรัคเตอร์ของ canvas(root, **options)

คุณสามารถใช้ฟังก์ชันโรงงานเพื่อสร้างข้อความ รูปภาพ โค้ง และกำหนดรูปทรงอื่นๆ ใน canvas ในบางกรณี หากคุณต้องการสร้าง canvas อีกอันโดยใช้ canvas เดียวกันเพื่อให้เวิร์กโฟลว์ของแอปพลิเคชันสม่ำเสมอ คุณสามารถสร้างปุ่มเพื่อเรียกเหตุการณ์ที่สร้าง canvas อีกอันได้

เพื่อทำความเข้าใจ เราจะสร้าง canvas และปุ่มเพื่อเปิด canvas อีกอันเพื่ออัปเดต primary canvas widget

ตัวอย่าง

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

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

# สร้างอินสแตนซ์คลาส style
style = ttk.Style(win)

def open_new_win():
    top = Toplevel(win)
    canvas1 = Canvas(canvas, height=180, width=100, bg="#aaaffe")
    canvas1.pack()
    Label(canvas1, text="You can modify this text", font='Helvetica 18 bold').pack()

# สร้าง canvas widget
canvas = Canvas(win, height=400, width=300)
canvas.pack()

# สร้างปุ่ม widget
button = ttk.Button(canvas, text="Open Window", command=open_new_win)
button.pack(pady=30)

win.mainloop()

ผลลัพธ์

การรันโค้ดด้านบนจะแสดงหน้าต่างพร้อมปุ่มเปิดหน้าต่าง canvas อีกอัน

วิธีแสดง Canvas หลายอันพร้อมกันใน Tkinter

เมื่อคุณคลิกปุ่ม จะแสดงข้อความบน primary canvas window

วิธีแสดง Canvas หลายอันพร้อมกันใน Tkinter