Python - การเขียนโปรแกรม GUI (Tkinter)

Python มีตัวเลือกต่างๆสำหรับการพัฒนาส่วนต่อประสานผู้ใช้แบบกราฟิก (GUI) ที่สำคัญที่สุดอยู่ด้านล่าง

  • Tkinter- Tkinter เป็นส่วนต่อประสาน Python กับชุดเครื่องมือ Tk GUI ที่มาพร้อมกับ Python เราจะดูตัวเลือกนี้ในบทนี้

  • wxPython - นี่คืออินเทอร์เฟซ Python แบบโอเพนซอร์สสำหรับ wxWindows http://wxpython.org.

  • 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/python

import Tkinter
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 แสดงคลาสตัวจัดการเรขาคณิตต่อไปนี้แพ็คกริดและสถานที่

  • แพ็ค ()วิธีการ - ผู้จัดการเรขาคณิตนี้จัดเครื่องมือในบล็อกก่อนที่จะวางไว้ในเครื่องมือที่ผู้ปกครอง

  • ตาราง ()วิธีการ - ผู้จัดการเรขาคณิตนี้จัดเครื่องมือในโครงสร้างที่เหมือนตารางในเครื่องมือของผู้ปกครอง

  • สถานที่ ()วิธีการ - ผู้จัดการเรขาคณิตนี้จัดวิดเจ็ตโดยการวางไว้ในตำแหน่งที่เฉพาะเจาะจงในเครื่องมือของผู้ปกครอง

ให้เราศึกษาวิธีการจัดการเรขาคณิตโดยสังเขป -