การสร้างและปรับแต่ง 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