29 เมษายน 2558

Published 4/29/2558 by with 0 comment

เขียน GUI ด้วย wxPython ใน Python ตอนที่ 1 เริ่มต้น

สวัสดีผู้อ่านทุกท่านครับ บทความนี้จะพาผู้อ่านไปรู้จักกับโมดูลหนึ่ง ซึ่งเป็นโมดูลยอดนิยมในเรื่องการสร้าง GUI ใน Python แม้แต่ Guido van Rossum ยังใช้โมดูลนี้ครับ นั้นคือ โมดูล wxPython ครับ บทความนี้จะพาผู้อ่านไปเขียน GUI ด้วย wxPython ใน Python 2 และ Python 3 กันครับ

wxPython มีจุดเด่นดังนี้

  • เป็น framework สำหรับใช้พัฒนา GUI

  • รองรับทั้งระบบปฏิบัติการ Windows , Mac OS , Linux และอื่น ๆ

  • ดึงความสามารถของ wxWidgets มาใช้งานร่วมกับภาษา Python

  • สนับสนุน Python 2 และสนับสนุน Python 3 แล้ว


wxPython เป็นที่นิยมอย่างมากในโลกของ Python  เมื่อ Python 3 ออกมา ในปี ค.ศ. 2012 ทาง wxPython จึงได้เปิดตัวโครงการ Phoenix ขึ้นมา เพื่อทำให้ wxPython รองรับ Python 3 แต่โครงการก็เงียบมานาน ความจริงแล้วยังมีการพัฒนาอยู่อย่างต่อเนื่อง จนไม่กี่เดือนมานี้ ทาง wxPython ได้ออก wxPython Phoenix Snapshot Builds เวชั่น 3.0.3 ออกมา โดยตอนนี้ wxPython ในรุ่น 3.0.3 ที่กำลังอยู่ในช่วงกำลังพัฒนาได้สนับสนุน Python 3 แล้ว และคาดว่าจะออกรุ่นเสถียรที่รองรับ Python 3 ใน wxPython 3.0.3 ที่จะออกในอนาคตอันใกล้นี้ครับ

วิธีการติดตั้งโมดูล wxPython


สำหรับ Python 2 สามารถติดตั้งได้โดยโหลดไฟล์ติดตั้งจาก http://wxpython.org/download.php

สำหรับ Python 3 *

สามารถเข้าไปโหลดมาลองใช้ได้ที่ http://wxpython.org/Phoenix/snapshot-builds/
ผู้ใช้งาน Windows โหลดไฟล์ whl มาให้ตรงกับเวชั่นของ Python

ตัวอย่างเช่น ผมใช้ Python 3.4 64 bit ผมจึงโหลดไฟล์ wxPython_Phoenix-3.0.3.dev1820+49a8884-cp34-none-win_amd64.whl มาครับ แล้วเปิดคอมมาไลน์แล้วสั่งติดตั้งโดยใช้คำสั่ง :
pip install wxPython_Phoenix-3.0.3.dev1820+49a8884-cp34-none-win_amd64.whl

สำหรับผู้ใช้งาน Mac OS , Linux โหลดไฟล์ wxPython_Phoenix-3.0.3.dev.tar.gz มาแตกไฟล์แล้วสั่ง
$ sudo python setup.py install

* หมายเหตุ เป็นเวชั่นสำหรับนักพัฒนาครับ หากมีการออกเวชั่นเสถียรออกมาผมจะมาอัพเดตข้อมูลนี้อีกครั้งครับ

ตัวอย่างการสร้าง GUI ด้วย wxPython ใน Python


Hello World

[python]
import wx

app = wx.App(False) # สร้างโปรแรมใหม่ ไม่เปลี่ยนเส้นทาง stdout/stderr ไปยัง window
frame = wx.Frame(None, wx.ID_ANY, "Hello World") # กำหนดให้ frame อยู่บนสุดของหน้าต่าง
frame.Show(True) # แสดง frame
app.MainLoop()
[/python]

ผลลัพธ์

Hello World ด้วย wxPython ใน Python

จะเห็นได้ว่า ตอนนี้สามารถเขียน GUI ด้วย wxPython ใน Python 3 ได้แล้วครับ :D

ติดตามบทความต่อไปนะครับ
ขอบคุณครับ :D

0 ความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็นได้ครับ :)