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

วิธีลบเส้นประ (Dashed Line) จาก Ttk Notebook Tab ใน Tkinter

Notebook widget ใน Tkinter ใช้สร้างแท็บ (Tabs) เพื่อแยกหน้าทำงานหรือกระบวนการต่างๆ ในแอปพลิเคชัน ปกติแล้วเมื่อคลิกที่แท็บ จะปรากฏเส้นประสี่เหลี่ยมรอบแท็บที่เลือก ซึ่งสามารถกำจัดได้โดยการกำหนดสไตล์ (style) ให้กับ Notebook widget

ตัวอย่างโค้ด

from tkinter import *
from tkinter import ttk

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

style = ttk.Style()

# กำหนด Layout สำหรับ Tab เพื่อลบเส้นประ
style.layout("Tab", [
    ('Notebook.tab', {'sticky': 'nswe', 'children': [
        ('Notebook.padding', {'side': 'top', 'sticky': 'nswe', 'children': [
            ('Notebook.label', {'side': 'top', 'sticky': ''})
        ]})
    ]})
])

# ตั้งค่า focuscolor ให้ตรงกับพื้นหลังเพื่อซ่อนเส้นประ
style.configure("Tab", focuscolor=style.configure(".")["background"])

my_notebook = ttk.Notebook(win)
my_notebook.pack(expand=1, fill=BOTH)

tab1 = ttk.Frame(my_notebook)
my_notebook.add(tab1, text="Tab 1")

tab2 = ttk.Frame(my_notebook)
my_notebook.add(tab2, text="Tab 2")

Label(tab1, text="Hello, Howdy?", font=('Helvetica 20 bold')).pack()
Label(tab2, text="This is a New Tab Context", font=('Helvetica 20 bold')).pack()

win.mainloop()

ผลลัพธ์

หน้าต่างแสดงหลายแท็บ โดยไม่มีเส้นประปรากฏเมื่อเลือกแท็บ

วิธีลบเส้นประ (Dashed Line) จาก Ttk Notebook Tab ใน Tkinter

วิธีลบเส้นประ (Dashed Line) จาก Ttk Notebook Tab ใน Tkinter