Tk - วิดเจ็ตขนาดใหญ่

วิดเจ็ตขนาดใหญ่ประกอบด้วยวิดเจ็ตที่ซับซ้อนจำนวนมากซึ่งมักจำเป็นในแอปพลิเคชัน Tk ขนาดใหญ่บางตัว รายการวิดเจ็ตขนาดใหญ่ที่มีอยู่ดังแสดงด้านล่าง -

ซีเนียร์ วิดเจ็ตและคำอธิบาย
1 กล่องโต้ตอบ

วิดเจ็ตสำหรับแสดงกล่องโต้ตอบ

2 Spinbox

วิดเจ็ตที่ให้ผู้ใช้เลือกหมายเลข

3 Combobox

วิดเจ็ตที่รวมรายการเข้ากับรายการตัวเลือกที่มีให้ใช้งาน

4 สมุดบันทึก

วิดเจ็ตแบบแท็บที่ช่วยในการสลับไปมาระหว่างหน้าใดหน้าหนึ่งโดยใช้แท็บดัชนี

5 แถบความคืบหน้า

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

6 Treeview

วิดเจ็ตเพื่อแสดงและอนุญาตให้เรียกดูตามลำดับชั้นของรายการได้มากขึ้นในรูปแบบของต้นไม้

7 แถบเลื่อน

การเลื่อนวิดเจ็ตโดยไม่มีวิดเจ็ตข้อความหรือพื้นที่

8 มาตราส่วน

ปรับขนาดวิดเจ็ตเพื่อเลือกค่าตัวเลขผ่านแถบเลื่อน

ตัวอย่างง่ายๆของ Tk แสดงไว้ด้านล่างโดยใช้วิดเจ็ตขนาดใหญ่

#!/usr/bin/wish

ttk::treeview .tree -columns "Creator Year" -displaycolumns "Year Creator" 
.tree heading Creator -text "Creator" -anchor center
.tree heading Year -text "Year" -anchor center
pack .tree
.tree insert {} end -id Languages -text "Languages"
.tree insert Languages end -text C -values [list "Dennis Ritchie" "1990"]
proc scaleMe {mywidget scaleValue} {
   $mywidget configure -length $scaleValue
} 
pack [scale .s2  -from 100.0 -to 200.0 -length 100 -background yellow -borderwidth 5
   -font{Helvetica -18 bold} -foreground red -width 40 -relief ridge -orien horizontal
   -variable a -command "scaleMe .s2" ]
pack [ttk::progressbar .p1 -orient horizontal -length 200 -mode indeterminate -value 90]
pack [ttk::progressbar .p2 -orient horizontal -length 200 -mode determinate -variable a
   -maximum 75 -value 20]

เมื่อเรารันโปรแกรมข้างต้นเราจะได้ผลลัพธ์ดังต่อไปนี้ -