กล่องรายการ Tkinter

Klxng Raykar Tkinter



ชุดเครื่องมือ GUI เริ่มต้นสำหรับ Python เรียกว่า Tkinter การผสมผสานระหว่าง Python กับ Tkinter ทำให้การพัฒนาแอพ GUI ทำได้ง่ายและรวดเร็ว Tkinter เป็นเกตเวย์เชิงวัตถุที่มีประสิทธิภาพสำหรับชุดเครื่องมือ Tk GUI ง่ายต่อการสร้างอินเทอร์เฟซ Gui โดยใช้ Tkinter ภายในคู่มือนี้ เราจะแสดงให้คุณเห็นการใช้ไลบรารี Tkinter เพื่อสร้าง Tkinter GUI และเพิ่มวิดเจ็ตกล่องรายการ

เริ่มต้นใช้งานระบบ Ubuntu 20.04 เราอัปเดตระบบของเราโดยใช้คำสั่งบางอย่างในเทอร์มินัลเชลล์ เราเปิดแอปพลิเคชันเทอร์มินัลด้วย Ctrl+Alt+T และเพิ่มคำแนะนำ apt “อัปเดต” ลงไป การดำเนินการต้องใช้รหัสผ่านของผู้ใช้ที่เข้าสู่ระบบและจะอัปเดตทั้งระบบหลังจากเพิ่มรหัสผ่าน







หลังจากติดตั้ง python3 สำเร็จแล้ว คุณต้องติดตั้งยูทิลิตี้ Python tk เพื่อใช้วิดเจ็ตต่างๆ ในโค้ด สำหรับการติดตั้ง ให้ลองใช้คำสั่งต่อไปนี้ในพื้นที่สอบถามเทอร์มินัล:





การติดตั้งยูทิลิตี้นี้ต้องการการยืนยันจากคุณก่อนที่จะดำเนินการให้เสร็จสิ้น กด “y” หลังจากถูกถามคำถามต่อไปนี้:





หลังจากการติดตั้งยูทิลิตี้นี้ทั้งหมด เราจะได้กล่องโต้ตอบต่อไปนี้สำหรับวิดเจ็ต 'tk' บนหน้าจอเทอร์มินัล มีปุ่มสองปุ่ม ปุ่มหนึ่งสำหรับการเลิกบุหรี่ และอีกปุ่มหนึ่งสำหรับการคลิก



เมื่อคลิกอย่างต่อเนื่อง 'คลิกฉัน!' เราจะได้วงเล็บเหลี่ยมรอบๆ ข้อความที่อยู่ในนั้น หน้าจอโต้ตอบของ 'Tk' จะกว้างขึ้น เมื่อแตะที่ “ออกจาก
ปุ่ม บทสนทนา tk จะปิดด้วยปัญหาใด ๆ

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

เราเริ่มต้นตัวอย่าง Python แรกของเราเพื่อแสดงการใช้ Tkinter Listbox ในโปรแกรม สำหรับสิ่งนี้ เราสร้างไฟล์ Python ใหม่และนำเข้าฟังก์ชันที่เกี่ยวข้องทั้งหมดของไลบรารี 'Tkinter' วัตถุ GUI 't' ถูกสร้างขึ้นในโค้ดโดยใช้ฟังก์ชัน 'Tk()' ช่วยให้เราสามารถสร้างหน้าต่าง GUI หลักบนหน้าจอของเราได้ ฟังก์ชันเรขาคณิต () ถูกเรียกโดยใช้อ็อบเจ็กต์ 't' ของ Tkinter เพื่อสร้างหน้าจอที่มีขนาดเฉพาะ

ตอนนี้ เราสร้างป้ายกำกับวิดเจ็ต 'l' ของประเภทข้อความที่หน้าจอ Tkinter GUI พร้อมข้อความบางส่วนเพื่อติดป้ายกำกับวิดเจ็ต หลังจากนี้ เราสร้างกล่องรายการวิดเจ็ตโดยใช้วัตถุ 't' ในพารามิเตอร์ของฟังก์ชัน 'กล่องรายการ' ฟังก์ชัน insert() โดยใช้วิดเจ็ต Listbox ถูกเรียกให้เพิ่มค่าสตริงใหม่ 5 ค่าไปยัง Listbox ด้วยการกำหนดหมายเลขเพื่อสร้างคำสั่งซื้อ

ฉลาก 'l' จะถูกบรรจุหลังจากนั้นโดยใช้ฟังก์ชัน pack() กล่องรายการถูกบรรจุ ฟังก์ชัน mainloop() ถูกเรียกโดยใช้อ็อบเจกต์ “t” ของ Tkinter เพื่อสร้างลูปพื้นฐานของเหตุการณ์ที่สร้างโดยผู้ใช้ นี่คือวิธีการใช้กล่องรายการใน Python ผ่านโมดูล Tkinter โปรแกรมเสร็จสมบูรณ์และพร้อมใช้งานแล้ว มาบันทึกไว้ในไฟล์และออกจากมัน

#!/usr/bin/python3
จาก tkinter นำเข้า *
t = Tk ( )
t.เรขาคณิต ( '200x250' )
ล. = ฉลาก ( t ข้อความ = “สีโปรดของฉัน...” )
กล่องรายการ = กล่องรายการ ( t )
listbox.insert ( 1 , 'สีขาว' )
listbox.insert ( สอง , 'สีดำ' )
listbox.insert ( 3 , 'สีแดง' )
listbox.insert ( 4 , 'สีฟ้า' )
listbox.insert ( 5 , 'สีเหลือง' )
l.pack ( )
listbox.pack ( )
t.mainloop ( )

หลังจากปิดไฟล์ เราจะเปิดเทอร์มินัลอีกครั้งและแสดงรายการเนื้อหาไดเร็กทอรีหลักผ่านคำสั่ง 'ls' มันแสดงให้เห็นว่าไฟล์ Python ที่อัพเดตใหม่ก็อยู่ที่นั่นด้วย เราใช้ python3 เพื่อรันไฟล์ Python

เมื่อดำเนินการ หน้าจอ GUI ต่อไปนี้ของ Tkinter จะเปิดขึ้นที่หน้าจอของเราด้วยชื่อ 'tk' ภายในพื้นที่สีเทา คุณจะเห็นข้อความที่มีป้ายกำกับ ในพื้นที่สีขาว คุณสามารถดูรายการกล่องรายการ เช่น รายการที่เพิ่มไปยังกล่องรายการโดยใช้วัตถุกล่องรายการ คุณสามารถปิดหน้าจอ GUI Tkinter โดยใช้เครื่องหมายกากบาทที่มุมขวาสุดเป็นสีแดง

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

มาดูการใช้ Listbox ร่วมกับวิดเจ็ตอื่นๆ เพื่อให้โต้ตอบได้เล็กน้อย สคริปต์ Python ที่เหมือนกันมากถูกใช้ในไฟล์โค้ดเดียวกันโดยมีการเปลี่ยนแปลงเล็กน้อยในบางบรรทัด เราเพิ่มบรรทัดรหัสใหม่ที่บรรทัดที่ 12 ของรหัสนี้ เราสร้างปุ่ม 'b' ในหน้าจอ Tkinter GUI โดยใช้ฟังก์ชัน 'ปุ่ม' โดยใช้ข้อความ 'ลบ' เป็นป้ายกำกับปุ่มและวัตถุ Tkinter 't'

พารามิเตอร์ที่สามของฟังก์ชัน Button() มีคำสั่งการลบสำหรับรายการกล่องรายการโดยใช้ ANCHOR เช่น การเลือกรายการและการลบโดยใช้ปุ่ม ป้ายชื่อ กล่องรายการ และปุ่มถูกบรรจุ วงเหตุการณ์หลักถูกสร้างขึ้นสำหรับการดำเนินการของ GUI นี้

#!/usr/bin/python3
จาก tkinter นำเข้า *
t = Tk ( )
t.เรขาคณิต ( '200x250' )
ล. = ฉลาก ( t ข้อความ = “สีโปรดของฉัน...” )
กล่องรายการ = กล่องรายการ ( t )
listbox.insert ( 1 , 'สีขาว' )
listbox.insert ( สอง , 'สีดำ' )
listbox.insert ( 3 , 'สีแดง' )
listbox.insert ( 4 , 'สีฟ้า' )
listbox.insert ( 5 , 'สีเหลือง' )
b = ปุ่ม ( t ข้อความ = 'ลบ' , คำสั่ง = แลมบ์ดา กล่องรายการ =listbox: listbox.delete ( สมอ ) )
l.pack ( )
listbox.pack ( )
b.pack
t.mainloop ( )

เรารันไฟล์เดียวกันหลังจากบันทึก

ผลลัพธ์จะแสดงกล่องรายการของ 5 รายการพร้อมกับปุ่ม 'ลบ'

เราเลือกรายการกล่องรายการ 'สีน้ำเงิน' และกดปุ่ม 'ลบ'

รายการที่เลือกจะถูกลบออกจากกล่องรายการ

ตอนนี้ เราอัปเดตรหัสเดิมเพื่อเพิ่มฟังก์ชันพิเศษ ดังนั้น ในบรรทัดที่ 3 เราอัปเดตขนาดของหน้าต่าง GUI ในโค้ดบรรทัดที่ 5 เราเพิ่มคำจำกัดความสำหรับฟังก์ชัน 'showSelected()' ฟังก์ชันนี้เรียกใช้ฟังก์ชัน config() โดยใช้อ็อบเจ็กต์ต่อไปนี้เพื่อรับข้อความรายการที่เลือกจากกล่องรายการ 'Lbx' ในบรรทัดที่ 15 ปุ่มเรียกใช้ฟังก์ชัน showSelected() ในพารามิเตอร์คำสั่ง

#!/usr/bin/python3
จาก tkinter นำเข้า *
t = Tk ( )
t.เรขาคณิต ( '400x300' )
def showSelected ( ) :
show.config ( ข้อความ =Lbx.get ( สมอ ) )
ล. = ฉลาก ( t ข้อความ = “สีโปรดของฉัน...” )
Lbx = กล่องรายการ ( t )
Lbx.pack ( )
Lbx.insert ( 1 , 'สีขาว' )
Lbx.insert ( สอง , 'สีดำ' )
Lbx.insert ( 3 , 'สีแดง' )
Lbx.insert ( 4 , 'สีฟ้า' )
Lbx.insert ( 5 , 'สีเหลือง' )
ปุ่ม ( t ข้อความ = 'แสดงรายการที่เลือก', commnd=showSelected).pack()
แสดง = ป้าย (t)
show.pack
t.mainloop()

เรารันโค้ดที่อัปเดต

หน้าจอต่อไปนี้ของกล่องรายการที่มีปุ่ม 'แสดงรายการที่เลือก' จะถูกสร้างขึ้น

เราเลือกรายการกล่องรายการ 'สีขาว' แล้วแตะปุ่ม 'แสดงรายการที่เลือก' ข้อความ 'สีขาว' จะแสดงบนหน้าจอ GUI หลังปุ่ม

บทสรุป

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