การสร้างและปรับแต่ง widget

Widget เป็นวัตถุ (object) เมื่อใดก็ตามที่เราต้องการสร้าง widget เราต้องเรียก widget constructor เช่น ในบทเรียน 1.1 เราสร้างปุ่มโดยใช้คำสั่ง

q = Button(frame, text="QUIT", fg="red", command=frame.quit)

คือเราสร้าง object ที่อยู่ในคลาส Button แล้วให้ argument แรกเป็น root ซึ่งก็คือหน้าต่างที่ปุ่มแปะอยู่

argument แรกนี้เรียกว่า master หรือ parents กล่าวคือในโค้ดข้างบน หน้าต่าง root เป็น parents ของปุ่ม q

จากนั้นเราสามารถใส่ optional arguments อื่นๆให้กับปุ่มได้ เช่นในกรณีนี้เราใส่ optional arguments สามตัว

text (คือข้อความหรือคำที่อยู่บนปุ่ม) เซ็ทให้เป็น "QUIT" fg (foreground คือสีของปุ่ม) เซ็ทให้เป็น "red" command (คือคำสั่งที่จะถูกเรียกเมื่อกดปุ่ม) เซ็ทให้เป็น "frame.quit"

จะเห็นว่า optional arguments เหล่านี้ทำให้เราสามารถเซ็ทคุณลักษณะ (configuration) ของปุ่มตามที่เราต้องการได้

อีกวิธีหนึ่งที่จะปรับแต่งปุ่มก็คือการใช้คำสั่ง config ยกตัวอย่างเช่นโค้ดต่อไปนี้ให้ผลลัพธ์แบบเดียวกับโค้ดข้างบน

q = Button(frame)
q.config(text="QUIT", fg="red", command=frame.quit)

ถ้าอยากทราบว่า widget แต่ละแบบสามารถปรับแต่งอะไรได้บ้าง ลองดูหน้าเว็บนี้ http://effbot.org/tkinterbook/tkinter-classes.htm

เมื่อกดเข้าไปในหน้าของ widget แต่ละแบบจะพบว่ามีคำอธิบายเกี่ยวกับ คำสั่ง config เช่นในลิงค์นี้

http://effbot.org/tkinterbook/button.htm#reference

รายละเอียดของคำสั่ง config จะอธิบายว่าเราสามารถปรับแต่งตัวแปรอะไรได้บ้าง

Lab Exercise 1: ทดลองเขียน widget กัน

ลองสร้าง widget ขึ้นมาที่หน้าตาประมาณนี้ โดยใช้ข้อมูลจากตัวอย่างข้างบนและใน reference

Widget Exercise