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

Tkinter: วิธีใส่กรอบ (Outline) รอบข้อความบน Canvas

เมธอด create_text ของ Canvas widget ใน Tkinter ไม่มีแอตทริบิวต์ "outline" หรือ "border" สำหรับตั้งกรอบรอบข้อความ ดังนั้นเพื่อใส่กรอบรอบข้อความบน Canvas ให้ทำตามขั้นตอนด้านล่าง

ขั้นตอน

  • นำเข้าไลบรารี สร้าง instance ของ tkinter frame

  • กำหนดขนาด frame ด้วย root.geometry

  • สร้าง Canvas widget ตั้งค่าความสูง ความกว้าง และสีพื้นหลัง background="white"

  • สร้างวัตถุ text ภายใน Canvas ด้วย create_text() ตั้งค่าฟอนต์และสี

  • ดึงกรอบขอบเขต (bbox) ของ text item

  • ใช้ข้อมูล bbox สร้างสี่เหลี่ยมผืนผ้าพร้อมกรอบ

  • รัน mainloop

ตัวอย่าง

from tkinter import *

root = Tk()
root.geometry("700x350")

canvas = Canvas(root, background="white")
canvas.pack(expand=True)

text = canvas.create_text(175, 50, text="Text inside the Canvas", font="Calibri, 20", fill="green")

bbox = canvas.bbox(text)
canvas.create_rectangle(bbox, outline="blue")

root.mainloop()

ผลลัพธ์

Tkinter: วิธีใส่กรอบ (Outline) รอบข้อความบน Canvas