Tkinter มาพร้อมกับวิดเจ็ตประเภทต่างๆ เช่น Button, Entry, Frame, Label, Radiobutton, Scrollbar เป็นต้น วิดเจ็ตเป็นองค์ประกอบอินเทอร์เฟซผู้ใช้แบบกราฟิกมาตรฐาน (GUI) ที่แสดงข้อมูลหรือช่วยให้ผู้ใช้โต้ตอบกับระบบ
ในตัวอย่างนี้ เราจะมาดูวิธีกำจัดเส้นขอบออกจากแคนวาส ฟิลด์รายการ ป้ายกำกับ และปุ่ม
ขั้นตอน -
-
นำเข้าไลบรารีที่จำเป็นและสร้างอินสแตนซ์ของเฟรม tkinter
-
กำหนดขนาดของเฟรมโดยใช้ root.geometry วิธีการ
-
ถัดไป สร้าง Canvas และกำหนดความกว้างของเส้นขอบของผืนผ้าใบด้วย "bd" คุณลักษณะ. จากนั้นใช้ "highlightthickness" คุณลักษณะเพื่อกำหนดว่าคุณต้องการแสดงเส้นขอบผ้าใบหรือไม่ ตั้งค่า "highlightthickness=0" ในกรณีที่คุณต้องการกำจัดขอบผ้าใบ
-
กำหนดฟังก์ชันที่ผู้ใช้กำหนดอีกสองฟังก์ชัน start() และ หยุด() เพื่อควบคุม infinite_loop . กำหนดตัวแปรส่วนกลาง "เงื่อนไข" . ข้างใน start() , set condition=True และภายใน stop() , ตั้งค่า condition=False .
-
ถัดไป สร้างฟิลด์รายการสองฟิลด์ภายใน Canvas ใช้ ความกว้างของเส้นขอบ คุณลักษณะเพื่อกำหนดเส้นขอบของหนึ่งช่องรายการ
-
ในทำนองเดียวกัน ให้สร้างป้ายกำกับสองป้ายและใช้ ความกว้างขอบ แอตทริบิวต์ที่มี relief='solid' เพื่อแสดงเส้นขอบรอบฉลาก
-
ถัดไป สร้างสองปุ่มและตั้งค่า "borderwidth=0" ในปุ่มเดียว มันจะลบขอบรอบปุ่ม
-
สุดท้าย เรียกใช้ mainloop ของหน้าต่างแอปพลิเคชัน
ตัวอย่าง
# Import the required libraries from tkinter import * #Create an instance of tkinter frame root=Tk() # Set the geometry of frame root.geometry("700x350") # Create a canvas widget canvas= Canvas(root, bd=2, highlightthickness=2) canvas.pack(side=TOP, padx=10, pady=10) # Create an Entry widget text=Entry(canvas, width=50) text.insert(0, "Widget with border") text.config(borderwidth=5) text.pack(side=TOP, padx=10, pady=10) # Create Entry widget without border 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()
ผลลัพธ์
เมื่อดำเนินการ มันจะสร้างผลลัพธ์ต่อไปนี้ -
สังเกตว่าวิดเจ็ต Canvas มีเส้นขอบ หากคุณตั้งค่าแอตทริบิวต์ "highlightthickness=0" ใน Canvas จะไม่แสดงเส้นขอบรอบๆ อีกต่อไป
ในทำนองเดียวกัน เรามีปุ่มสองปุ่ม ปุ่มหนึ่งมีขอบและปุ่มที่สองไม่มีขอบ หากต้องการลบเส้นขอบใน ปุ่ม วิดเจ็ต เราได้ใช้พารามิเตอร์ "borderwidth=0" .