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

วิธีลบขอบ (Border) ของ Widget ใน Tkinter

Tkinter มี widget หลายประเภท เช่น Button, Entry, Frame, Label, Radiobutton, Scrollbar เป็นต้น Widgets เป็นองค์ประกอบ GUI มาตรฐานสำหรับแสดงข้อมูลหรือโต้ตอบกับผู้ใช้

ตัวอย่างนี้แสดงวิธีลบขอบจาก Canvas, Entry fields, Labels และ Buttons

ขั้นตอน

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

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

  • สร้าง Canvas ตั้งความกว้างขอบด้วย "bd" ใช้ "highlightthickness" ควบคุมการแสดงขอบ Canvas ตั้ง "highlightthickness=0" เพื่อลบขอบ

  • สร้าง Entry field 2 ตัวใน Canvas ใช้ borderwidth ตั้งขอบของตัวหนึ่ง

  • สร้าง Label 2 ตัว ใช้ borderwidth กับ relief='solid' แสดงขอบรอบ label

  • สร้าง Button 2 ตัว ตั้ง "borderwidth=0" ในปุ่มหนึ่งเพื่อลบขอบ

  • รัน mainloop

ตัวอย่าง

from tkinter import *

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

canvas = Canvas(root, bd=2, highlightthickness=2)
canvas.pack(side=TOP, padx=10, pady=10)

text = Entry(canvas, width=50)
text.insert(0, "Widget with border")
text.config(borderwidth=5)
text.pack(side=TOP, padx=10, pady=10)

text = Entry(canvas, width=50)
text.insert(0, "Widget without border")
text.pack(side=TOP, padx=10, pady=10)

label1 = Label(canvas, text="Label with border", borderwidth=2, relief='solid', font="Calibri, 14")
label1.pack(side=BOTTOM, padx=10, pady=10)

label2 = Label(canvas, text="Label without border", borderwidth=0, font="Calibri, 14")
label2.pack(side=BOTTOM, padx=10, pady=10)

button1 = Button(root, text="Standard Button")
button1.pack(side=TOP, padx=10, pady=10)

button2 = Button(root, text="Button without Border", borderwidth=0)
button2.pack(side=TOP, padx=10, pady=10)

root.mainloop()

ผลลัพธ์

วิธีลบขอบ (Border) ของ Widget ใน Tkinter

Canvas widget มีขอบ ถ้าตั้ง "highlightthickness=0" จะไม่แสดงขอบ

ปุ่ม 2 ตัว ตัวหนึ่งมีขอบ อีกตัวไม่มีขอบ ใช้ "borderwidth=0" เพื่อลบขอบปุ่ม