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

Làm thế nào để đặt một phác thảo trên một văn bản canvas trên Tkinter?

Tiện ích Tkinter Canvas có thể được sử dụng cho nhiều mục đích như thêm hình ảnh, tạo và vẽ các hình dạng trong canvas, tạo hoạt ảnh cho các hình dạng và đối tượng, v.v. Sử dụng các chức năng và phương pháp có sẵn của Canvas, chúng tôi có thể tạo và hiển thị văn bản.

Để tạo văn bản, chúng tôi sử dụng create_text (x, y, văn bản, ** tùy chọn) phương pháp. Để thêm đường viền xung quanh văn bản trong Canvas, chúng ta phải tạo hộp bao quanh văn bản. Thuộc tính hộp giới hạn liên kết hộp ẩn với tiện ích con. Và, điều này sẽ cho phép chúng tôi đặt một hình chữ nhật vào văn bản.

Khi chúng ta đã tạo một hình chữ nhật, chúng ta có thể kéo nó ra phía sau và tạo văn bản phía trên hình chữ nhật. Hình chữ nhật phải có thuộc tính phác thảo bao quanh mục canvas.

Ví dụ

# Import the required libraries
from tkinter import *

# Create an instance of tkinter frame or window
win=Tk()

# Set the size of the window
win.geometry("700x350")

# Create a canvas widget
canvas=Canvas(win, bg="blue3")
canvas.pack()

# Create a text in canvas
text=canvas.create_text(100,200, text="This works only in canvas",
font=('Calibri 18'), anchor="w", fill="white")

# Make the bounding-box around text
bbox=canvas.bbox(text)

# Create a rectangle inside the bounding box
rect=canvas.create_rectangle(bbox, outline="yellow",
fill="black", width=5)

# Make the text above to the rectangle
canvas.tag_raise(text,rect)

win.mainloop()

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ hiển thị một cửa sổ có văn bản được xác định trước trong canvas. Văn bản sẽ có một đường viền hiển thị trên canvas.

Làm thế nào để đặt một phác thảo trên một văn bản canvas trên Tkinter?