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

จะแสดง Canvas หลายอันพร้อมกันใน Tkinter ได้อย่างไร?


วิดเจ็ต 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()

ผลลัพธ์

การเรียกใช้โค้ดด้านบนจะแสดงหน้าต่างที่มีปุ่มสำหรับเปิดหน้าต่างผ้าใบอื่น

จะแสดง Canvas หลายอันพร้อมกันใน Tkinter ได้อย่างไร?

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

จะแสดง Canvas หลายอันพร้อมกันใน Tkinter ได้อย่างไร?