Tkinter ComboBox

Tkinter Combobox



แพ็คเกจ ttk ซึ่งเป็นการดัดแปลงเฉพาะของ Python Tkinter ได้แนะนำส่วนประกอบเพิ่มเติมนี้ Python Tkinter ComboBox แสดงแต่ละตัวเลือกจากเมนูแบบเลื่อนลง 1 ในขณะนั้น มีรูปลักษณ์ร่วมสมัย ทำให้เหมาะสำหรับสถานที่ที่แสงเป็นสิ่งสำคัญ รายการแกดเจ็ตคือความสามารถระดับคลาสของ Python ComboBox ด้วยเหตุนี้ มันจึงเพิ่มตัวเลือกและฟังก์ชันเพิ่มเติมในขณะที่รับช่วงมาจากคลาส Entry หลายตัว

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

ตัวอย่างที่ 1:

มาเริ่มกันด้วยตัวอย่างแรกของโมดูล Tkinter ใน Python เราสร้างไฟล์ Python ใหม่ที่มีนามสกุล 'py' ผ่านคอนโซลเทอร์มินัล หลังจากนั้น คุณสามารถใช้ตัวแก้ไขใดก็ได้ที่คุณเลือกเพื่อเปิดไฟล์ Python ที่สร้างขึ้นใหม่จาก file explorer เราเริ่มโค้ด Python นี้ด้วยการนำเข้าไลบรารี Tkinter ในโค้ดพร้อมกับออบเจ็กต์ย่อย คลาส และเอนทิตีในตัวทั้งหมด







เรานำเข้าวัตถุ ttk เพื่อใช้ในโค้ด ขั้นแรก เราเรียกใช้ฟังก์ชัน Tk() ของ Tkinter เพื่อเพิ่มค่าใหม่สำหรับอ็อบเจกต์ 't' ออบเจ็กต์ 't' ใช้เพื่อเรียกใช้ฟังก์ชันเรขาคณิตเพื่อสร้างอินเทอร์เฟซผู้ใช้แบบกราฟิก '200×150' ภายในตัวอย่างแรกนี้ เราใช้เมธอด “frame()” ของ Tkinter เพื่อสร้างกรอบ GUI ที่หน้าจอคอนโซล วัตถุ 'f' ของเฟรมถูกปิดที่นี่โดยใช้ฟังก์ชัน Tkinter pack()



หลังจากนี้ เราสร้างรายการ 'l' ของประเภทสตริงที่มีค่าสตริงทั้งหมด 5 ค่า หลังจากนี้ เราจะใช้อ็อบเจ็กต์ Tkinter ttk เพื่อเรียกใช้ฟังก์ชัน ComboBox ของ Tkinter ภายในเฟรม 'f' รายการ 'l' ถูกส่งผ่านไปแล้ว ComboBox นี้ถูกบันทึกลงในตัวแปร 'C' เราตั้งค่าป้ายกำกับสำหรับ ComboBox โดยใช้ฟังก์ชัน 'set' และบรรจุ ComboBox ด้วยช่องว่างภายในที่ถูกต้อง ตอนนี้ เรารันฟังก์ชัน mainloop() เพื่อรันโปรแกรม Tkinter โดยรวม







หลังจากเสร็จสิ้นสคริปต์ Python เราจะบันทึกโค้ดด้วย Ctrl+S และกลับมาที่คอนโซลเชลล์ของระบบ Linux เราลองใช้คำสั่ง Python3 ในเชลล์ตามด้วยชื่อของไฟล์ Python เพื่อรันไฟล์ดังที่แสดงต่อไปนี้:

$ python3 test.py



หลังจากดำเนินการค้นหา เราได้รับ Tkinter GUI ต่อไปนี้ที่หน้าจอคอนโซลของเราด้วยชื่อ 'tk' หน้าจอ GUI ประกอบด้วยคอมโบบ็อกซ์ เช่น รายการดรอปดาวน์ที่มีชื่อ “เลือกสี 1 สี” และสัญลักษณ์สามเหลี่ยมเพื่อเปิด

หลังจากแตะที่เครื่องหมายสามเหลี่ยมแล้ว รายการดรอปดาวน์แบบยาวจะแสดงพร้อมกับตัวเลือกที่มีทั้งหมด คุณจะเห็นว่าเรามีทั้งหมด 5 ตัวเลือกให้เลือก

สมมติว่า คุณเลือกสี 'ดำ' จากรายการแบบเลื่อนลง คุณจะเห็นว่าสีที่เลือกแสดงอยู่ในพื้นที่ชื่อเรื่องของ ComboBox แบบเลื่อนลง รายการที่เหลือถูกซ่อนไว้

ตัวอย่างที่ 2:

ลองมาดูตัวอย่างอื่นโดยใช้วิธีการอื่นเพื่อสร้าง ComboBox ใน Tkinter ในครั้งนี้ ดังนั้นเราจึงเริ่มโค้ด Python นี้ด้วยการนำเข้าโมดูล Tkinter ในไฟล์ Python เดียวกันกับ 'tk' พร้อมกับการนำเข้าคลาส ttk ของมัน หลังจากนั้น เรานำเข้าฟังก์ชัน showinfo() จากคลาสกล่องข้อความของโมดูล Tkinter นอกจากนี้เรายังนำเข้าตัวแปร month_name จากโมดูลปฏิทินของ Python

เราเรียกใช้ฟังก์ชัน tk() ด้วยอ็อบเจ็กต์ tk ของโมดูล Tkinter และบันทึกผลลัพธ์ของตัวสร้างในตัวแปร 't' ฟังก์ชันเรขาคณิตถูกเรียกด้วยพารามิเตอร์ที่ระบุเพื่อสร้าง GUI ของ Tkinter ด้วยขนาดเฉพาะ ฟังก์ชัน title() ถูกเรียกด้วยพารามิเตอร์ “Combobox Illustration” เพื่อตั้งชื่อ Tkinter GUI และฟังก์ชัน Label จากคลาส ttk เพื่อสร้างป้ายกำกับ “l” ฟังก์ชั่นแพ็คใช้เพื่อเติมป้ายกำกับ 'l' ตัวแปร “mn” ถูกสร้างขึ้นด้วยฟังก์ชัน StringVar() ของคลาส “tk” ComboBox 'mcb' ถูกสร้างขึ้นโดยใช้ฟังก์ชัน ComboBox และข้อความตัวแปร 'mn' mcb ComboBox นั้นเต็มไปด้วยค่าสตริงถึง 13 ผ่านตัวแปร month_name ที่ใช้ภายในลูป “for”

สถานะของ 'mcb' ComboBox ถูกตั้งค่าเป็นแบบอ่านอย่างเดียวและถูกแพ็ก ฟังก์ชัน select() ถูกสร้างขึ้นเพื่อเรียกใช้ฟังก์ชัน showinfo() เพื่อสร้างกล่องโต้ตอบการแจ้งเตือนด้วยชื่อ “Confirmation” และข้อความ “You have selected {whatever the value} ฟังก์ชัน bind() ถูกเรียกด้วย 'mcb' ComboBox โดยการเพิ่มพารามิเตอร์ 'ComboboxSelected' และฟังก์ชัน 'change' ฟังก์ชัน mainloop() ทำงานเพื่อวนรอบโปรแกรม Tkinter มาบันทึกก่อนวิ่ง

เรารันไฟล์นี้โดยใช้แบบสอบถาม python3

$ หลาม 3 test.py

หน้าจอ Tkinter ต่อไปนี้ชื่อ “ภาพประกอบ ComboBox” ปรากฏในรายการต่อไปนี้:

เมื่อเราคลิกที่เครื่องหมายสามเหลี่ยม ComboBox ใต้ชื่อ 'เลือกเดือน' จะแสดงชื่อของเดือน

เมื่อเราเลือก “กรกฎาคม” จะปรากฏบนฉลากและข้อความแจ้งเตือนและข้อความจะปรากฏขึ้น กดตกลงเพื่อดำเนินการต่อ

บทสรุป

นี่คือทั้งหมดที่เกี่ยวกับการใช้โมดูล Tkinter ของ Python เพื่อสร้าง comboBox ในหน้าต่าง GUI สำหรับสิ่งนี้ เราได้ลองสองตัวอย่างที่เรียบง่ายแต่ต่างกันของ Python เพื่อให้บรรลุเป้าหมายโดยใช้ฟังก์ชัน frame() และวิธีการทั่วไปในการสร้าง comboBox ใน GUI เราได้รวมโค้ดตัวอย่างสำหรับทั้งสองอินสแตนซ์และทำการเปลี่ยนแปลงเล็กน้อยหลังจากเรียกใช้โค้ด