วิดเจ็ต Canvas เป็นหนึ่งในวิดเจ็ตอเนกประสงค์ใน Tkinter ซึ่งใช้ในการสร้างภาพประกอบ วาดรูปร่าง ส่วนโค้ง รูปภาพ และเลย์เอาต์ที่ซับซ้อนอื่นๆ ในแอปพลิเคชัน ในการสร้างวิดเจ็ต Canvas คุณจะต้องสร้างคอนสตรัคเตอร์ของ canvas(root, **options) .
คุณสามารถใช้ฟังก์ชันจากโรงงานเพื่อสร้างข้อความ รูปภาพ ส่วนโค้ง และกำหนดรูปร่างอื่นๆ ในพื้นที่ผ้าใบได้ ในบางกรณี หากคุณต้องการสร้างแคนวาสอื่นโดยใช้แคนวาสเดียวกันเพื่อให้เวิร์กโฟลว์ของแอปพลิเคชันสอดคล้องกัน คุณสามารถสร้างปุ่มเพื่อเรียกเหตุการณ์ที่สร้างแคนวาสอื่นได้
เพื่อให้เข้าใจสิ่งนี้ ให้เราสร้างแคนวาสและปุ่มเพื่อเปิดแคนวาสอื่นเพื่ออัปเดตวิดเจ็ตแคนวาสหลัก
ตัวอย่าง
# Import required libraries from tkinter import * from tkinter import ttk # Create an instance of tkinter window win = Tk() win.geometry("700x350") # Create an instance of style class 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() # Create a canvas widget canvas=Canvas(win, height=400, width=300) canvas.pack() # Create a button widget button=ttk.Button(canvas, text="Open Window", command=open_new_win) button.pack(pady=30) win.mainloop()
ผลลัพธ์
การเรียกใช้โค้ดด้านบนจะแสดงหน้าต่างที่มีปุ่มสำหรับเปิดหน้าต่างผ้าใบอื่น
เมื่อคุณคลิกปุ่ม ระบบจะแสดงข้อความในหน้าต่างพื้นที่ทำงานหลัก