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

อะไรคือความแตกต่างระหว่างวิดเจ็ตของ tkinter และ tkinter.ttk ใน Python?


tkinter.ttk เป็นโมดูลที่ใช้ในการจัดรูปแบบวิดเจ็ต tkinter เช่นเดียวกับ CSS ที่ใช้ในการจัดรูปแบบองค์ประกอบ HTML เราใช้ tkinter.ttk เพื่อจัดรูปแบบวิดเจ็ต tkinter

นี่คือข้อแตกต่างที่สำคัญระหว่าง วิดเจ็ต tkinter และ tkinter.ttk

  • วิดเจ็ต Tkinter ใช้เพื่อเพิ่มปุ่ม ป้ายกำกับ ข้อความ ScrollBar ฯลฯ อย่างไรก็ตาม tkinter.ttk รองรับวิดเจ็ตได้หลากหลายเมื่อเทียบกับวิดเจ็ต tkinter

  • Tkinter.ttk ไม่รองรับ Place, Pack() และ Grid() ดังนั้นจึงขอแนะนำให้ใช้วิดเจ็ต tkinter กับ ttk

  • Ttk มีคุณสมบัติและการกำหนดค่ามากมายที่ขยายฟังก์ชันการทำงานของแอปพลิเคชันดั้งเดิมและทำให้ดูทันสมัยยิ่งขึ้น

  • วิดเจ็ต Tkinter เป็นวิดเจ็ตดั้งเดิมในไลบรารี tkinter อย่างไรก็ตาม ttk เป็นโมดูลที่มีธีม

  • หากต้องการแทนที่วิดเจ็ต Tk พื้นฐานใน tkinter ให้ใช้ "from tkinter.ttk import *"

ตัวอย่าง

ในตัวอย่างต่อไปนี้ เราได้จัดรูปแบบวิดเจ็ตเนทีฟ tkinter โดยใช้โมดูล tkinter.ttk เราจะสร้างปุ่มที่จะเปลี่ยนสีพื้นหลังของวิดเจ็ตข้อความ

#Import the tkinter library
from tkinter import *
from tkinter.ttk import *

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

#Set the geometry
win.geometry("620x400")

#Add a class to style the tkinter widgets
style = ttk.Style()
style.configure('TEntry', foreground = 'red')

#Define a function to change the text color
def change_color():
   text.configure(background="red")

#Create a text widget
text=Label(win,text="This is a New Text",foreground="white",
background="blue",font=('Aerial bold',20))
text.pack(pady=20)

#Create a Button widget
Button(win, text= "Click Here", command= change_color).pack(pady=10)
win.mainloop()

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นจะสร้างผลลัพธ์ต่อไปนี้ -

อะไรคือความแตกต่างระหว่างวิดเจ็ตของ tkinter และ tkinter.ttk ใน Python?

ตอนนี้ให้คลิกปุ่ม "คลิกที่นี่" มันจะเปลี่ยนสีพื้นหลังของวิดเจ็ตข้อความเป็นสีแดง

อะไรคือความแตกต่างระหว่างวิดเจ็ตของ tkinter และ tkinter.ttk ใน Python?