Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để hiển thị nhiều Canvases cùng một lúc trong Tkinter?

Tiện ích Canvas là một trong những tiện ích linh hoạt trong Tkinter được sử dụng để tạo hình minh họa, vẽ hình dạng, cung tròn, hình ảnh và các bố cục phức tạp khác trong một ứng dụng. Để tạo tiện ích Canvas, bạn sẽ cần tạo một phương thức khởi tạo của canvas (root, ** options) .

Bạn có thể sử dụng các chức năng gốc để tạo văn bản, hình ảnh, vòng cung và xác định các hình dạng khác trong canvas. Trong một số trường hợp, nếu bạn muốn tạo một canvas khác bằng cách sử dụng cùng một canvas để giữ cho quy trình làm việc của ứng dụng nhất quán, thì bạn có thể tạo một nút để gọi một sự kiện tạo canvas khác.

Để hiểu điều này, chúng ta hãy tạo một canvas và một nút để mở một canvas khác để cập nhật tiện ích canvas chính.

Ví dụ

# 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()

Đầu ra

Chạy đoạn mã trên sẽ hiển thị một cửa sổ có nút để mở một cửa sổ canvas khác.

Làm cách nào để hiển thị nhiều Canvases cùng một lúc trong Tkinter?

Khi bạn nhấp vào nút, nó sẽ hiển thị một thông báo trên cửa sổ canvas chính.

Làm cách nào để hiển thị nhiều Canvases cùng một lúc trong Tkinter?