Python 3 - การเขียนโปรแกรม GUI (Tkinter)
Python มีตัวเลือกต่างๆสำหรับการพัฒนาส่วนต่อประสานผู้ใช้แบบกราฟิก (GUI) คุณสมบัติที่สำคัญที่สุดอยู่ด้านล่าง
Tkinter- Tkinter เป็นส่วนต่อประสาน Python กับชุดเครื่องมือ Tk GUI ที่มาพร้อมกับ Python เราจะดูตัวเลือกนี้ในบทนี้
wxPython- นี่คืออินเทอร์เฟซ Python แบบโอเพ่นซอร์สสำหรับ wxWidgets GUI toolkit คุณสามารถค้นหากวดวิชาที่สมบูรณ์เกี่ยวกับ wxPython ที่นี่
PyQt− นี่เป็นอินเทอร์เฟซ Python สำหรับไลบรารี Qt GUI ข้ามแพลตฟอร์มยอดนิยม TutorialsPoint มีการกวดวิชาที่ดีมากใน PyQt ที่นี่
JPython - JPython เป็นพอร์ต Python สำหรับ Java ซึ่งทำให้สคริปต์ Python สามารถเข้าถึงไลบรารีคลาส Java บนเครื่องท้องถิ่นได้อย่างราบรื่น http://www.jython.org.
มีอินเทอร์เฟซอื่น ๆ อีกมากมายซึ่งคุณสามารถหาได้จากอินเทอร์เน็ต
การเขียนโปรแกรม Tkinter
Tkinter เป็นไลบรารี GUI มาตรฐานสำหรับ Python Python เมื่อรวมกับ Tkinter เป็นวิธีที่ง่ายและรวดเร็วในการสร้างแอปพลิเคชัน GUI Tkinter นำเสนออินเทอร์เฟซเชิงวัตถุที่มีประสิทธิภาพให้กับชุดเครื่องมือ Tk GUI
การสร้างแอปพลิเคชัน GUI โดยใช้ Tkinter เป็นเรื่องง่าย สิ่งที่คุณต้องทำคือทำตามขั้นตอนต่อไปนี้ -
นำเข้าโมดูลTkinter
สร้างหน้าต่างหลักของแอปพลิเคชัน GUI
เพิ่มวิดเจ็ตที่กล่าวถึงข้างต้นอย่างน้อยหนึ่งรายการในแอปพลิเคชัน GUI
เข้าสู่ลูปเหตุการณ์หลักเพื่อดำเนินการกับแต่ละเหตุการณ์ที่เรียกโดยผู้ใช้
ตัวอย่าง
#!/usr/bin/python3
import tkinter # note that module name has changed from Tkinter in Python 2 to tkinter in Python 3
top = tkinter.Tk()
# Code to add widgets will go here...
top.mainloop()
สิ่งนี้จะสร้างหน้าต่างต่อไปนี้ -
วิดเจ็ต Tkinter
Tkinter มีการควบคุมต่างๆเช่นปุ่มป้ายกำกับและกล่องข้อความที่ใช้ในแอปพลิเคชัน GUI การควบคุมเหล่านี้มักเรียกว่าวิดเจ็ต
ขณะนี้มีวิดเจ็ต 15 ประเภทใน Tkinter เรานำเสนอวิดเจ็ตเหล่านี้พร้อมทั้งคำอธิบายสั้น ๆ ในตารางต่อไปนี้ -
ซีเนียร์ | ตัวดำเนินการและคำอธิบาย |
---|---|
1 | ปุ่ม วิดเจ็ตปุ่มใช้เพื่อแสดงปุ่มในแอปพลิเคชันของคุณ |
2 | ผ้าใบ วิดเจ็ต Canvas ใช้เพื่อวาดรูปร่างเช่นเส้นวงรีรูปหลายเหลี่ยมและสี่เหลี่ยมในแอปพลิเคชันของคุณ |
3 | ปุ่มตรวจสอบ วิดเจ็ต Checkbutton ใช้เพื่อแสดงตัวเลือกต่างๆเป็นช่องทำเครื่องหมาย ผู้ใช้สามารถเลือกได้ครั้งละหลายตัวเลือก |
4 | รายการ วิดเจ็ต Entry ใช้เพื่อแสดงฟิลด์ข้อความบรรทัดเดียวสำหรับรับค่าจากผู้ใช้ |
5 | กรอบ วิดเจ็ต Frame ใช้เป็นวิดเจ็ตคอนเทนเนอร์เพื่อจัดระเบียบวิดเจ็ตอื่น ๆ |
6 | ฉลาก วิดเจ็ต Label ใช้เพื่อจัดเตรียมคำบรรยายบรรทัดเดียวสำหรับวิดเจ็ตอื่น ๆ นอกจากนี้ยังสามารถมีรูปภาพ |
7 | Listbox วิดเจ็ต Listbox ใช้เพื่อจัดเตรียมรายการตัวเลือกให้กับผู้ใช้ |
8 | เมนู วิดเจ็ต Menubutton ใช้เพื่อแสดงเมนูในแอปพลิเคชันของคุณ |
9 | เมนู วิดเจ็ตเมนูใช้เพื่อจัดเตรียมคำสั่งต่างๆให้กับผู้ใช้ คำสั่งเหล่านี้มีอยู่ใน Menubutton |
10 | ข้อความ วิดเจ็ตข้อความใช้เพื่อแสดงฟิลด์ข้อความหลายบรรทัดสำหรับการยอมรับค่าจากผู้ใช้ |
11 | Radiobutton วิดเจ็ต Radiobutton ใช้เพื่อแสดงตัวเลือกต่างๆเป็นปุ่มตัวเลือก ผู้ใช้สามารถเลือกได้ครั้งละหนึ่งตัวเลือกเท่านั้น |
12 | มาตราส่วน วิดเจ็ตมาตราส่วนใช้เพื่อจัดเตรียมวิดเจ็ตตัวเลื่อน |
13 | แถบเลื่อน วิดเจ็ต Scrollbar ใช้เพื่อเพิ่มความสามารถในการเลื่อนไปยังวิดเจ็ตต่างๆเช่นกล่องรายการ |
14 | ข้อความ วิดเจ็ตข้อความใช้เพื่อแสดงข้อความในหลายบรรทัด |
15 | ระดับสูง วิดเจ็ต Toplevel ใช้เพื่อจัดเตรียมคอนเทนเนอร์หน้าต่างแยกต่างหาก |
16 | Spinbox วิดเจ็ต Spinbox เป็นตัวแปรของวิดเจ็ต Tkinter Entry มาตรฐานซึ่งสามารถใช้เพื่อเลือกจากจำนวนค่าคงที่ |
17 | PanedWindow PanedWindow คือวิดเจ็ตคอนเทนเนอร์ที่อาจมีบานหน้าต่างจำนวนเท่าใดก็ได้โดยจัดเรียงในแนวนอนหรือแนวตั้ง |
18 | LabelFrame Labelframe เป็นวิดเจ็ตคอนเทนเนอร์แบบธรรมดา จุดประสงค์หลักคือทำหน้าที่เป็นตัวเว้นระยะหรือคอนเทนเนอร์สำหรับการจัดวางหน้าต่างที่ซับซ้อน |
19 | tkMessageBox โมดูลนี้ใช้เพื่อแสดงกล่องข้อความในแอปพลิเคชันของคุณ |
แอตทริบิวต์มาตรฐาน
ให้เราดูว่าคุณลักษณะทั่วไปบางประการเช่นขนาดสีและแบบอักษรมีการระบุไว้อย่างไร
Dimensions
Colors
Fonts
Anchors
รูปแบบการบรรเทา
Bitmaps
Cursors
การจัดการรูปทรงเรขาคณิต
วิดเจ็ต Tkinter ทั้งหมดสามารถเข้าถึงวิธีการจัดการรูปทรงเรขาคณิตเฉพาะซึ่งมีจุดประสงค์ในการจัดระเบียบวิดเจ็ตทั่วทั้งพื้นที่วิดเจ็ตพาเรนต์ Tkinter แสดงคลาสตัวจัดการเรขาคณิตต่อไปนี้แพ็คกริดและสถานที่
วิธีแพ็ค () - ตัวจัดการรูปทรงเรขาคณิตนี้จะจัดระเบียบวิดเจ็ตในบล็อกก่อนที่จะวางไว้ในวิดเจ็ตหลัก
วิธีกริด () - ตัวจัดการรูปทรงเรขาคณิตนี้จัดระเบียบวิดเจ็ตในโครงสร้างที่เหมือนตารางในวิดเจ็ตหลัก
สถานที่ () วิธีการ - ตัวจัดการรูปทรงเรขาคณิตนี้จัดระเบียบวิดเจ็ตโดยวางไว้ในตำแหน่งเฉพาะในวิดเจ็ตหลัก