Skip to content

สร้าง GUI ด้วย PySide ตอนที่ 1 : เริ่มต้นโปรแกรมแรก Hello World

สวัสดีครับทุกท่าน บทความนี้จะพาทุกท่านไปรู้จักกับการสร้าง GUI บน Python ด้วย PySide กันครับ PySide  เป็นเครื่องมือที่ใช้สร้าง GUI นึ่งบน Python โดยอาศัย Qt ในการรันโปรแกรมอีกทอดหนึ่งเหมือน PyQt แต่ PySide ใช้ LGPL ครับ

PySide สนับสนุนทั้ง Python 2 , 3 ครับ แต่ผมขออิงบน Python 3 ครับ

การติดตั้ง  PySide

เริ่มต้นโปรแกรมแรก Hello World ด้วย PySide ใน Python 3

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

#!/usr/bin/python
#  Import PySide classes
import sys
from PySide.QtCore import *
from PySide.QtGui import *
    
    
# สร้างโปรแกรมด้วย Qt
app = QApplication(sys.argv)
# สร้าง Label และแสดง
label = QLabel("Hello World")
label.show()
# Enter Qt application main loop
app.exec_()
sys.exit()

ในตัวอย่างที่ 1 เราได้เขียนโปรแกรมให้แสดงคำว่า "Hello World"  โดยใช้ QLabel แล้วแสดงด้วยคำสั่ง label.show()
ผลลัพธ์

ทำไมต้องนำเข้าทั้ง PySide.QtCore และ PySide.QtGui
  เมื่อเราใช้งาน PySide กับเดสก์ท็อป เราจำเป็นต้องนำเข้า PySide.QtCore และคลาส PySide.QtGui ซึ่งมีหน้าที่สำคัญในการเขียนโปรแกรมด้วย PySide เช่น PySide.QtGui ประกอบด้วยฟังก์ชันสำหรับจัดการกับเครื่องมือในขณะที่ PySide.QtCore มีวิธีการสำหรับการจัดการซิกแนลและสล็อตและการควบคุมโปรแกรม

เราสามารถใส่ HTML ลงใน QLabel ได้ตัวอย่างเช่น 

label = QLabel("<font color=red size=40>Hello World</font>")

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

import sys
from PySide.QtCore import *
from PySide.QtGui import *

app = QApplication(sys.argv)

win = QWidget()

win.resize(320, 240) #กำหนดขนาดของหน้าต่างโปรแกรม
win.setWindowTitle("Hello, World!") #กำหนดชื่อตรงหัวโปรแกรม
win.show() #แสดง

app.exec_()

ในตัวอย่างที่ 2 นี้เราได้ทำหน้าต่างโปรแกรม โดยมีการกำหนดขนาดของโปรแกรมและชื่อหัวโปรแกรมครับ
ผลลัพธ์

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

Published on Categories GUI, PySide

About wannaphong

วรรณพงษ์ ภัททิยไพบูลย์ ผู้ดูแลเว็บ wannaphong.com และผู้เขียนบทความบล็อกนี้ นักศึกษาชั้นปีที่ 1 สาขาวิทยาการคอมพิวเตอร์และสารสนเทศ คณะวิทยาศาสตร์ประยุกต์และวิศวกรรมศาสตร์ มหาวิทยาลัยขอนแก่น วิทยาเขตหนองคาย

9 thoughts on “สร้าง GUI ด้วย PySide ตอนที่ 1 : เริ่มต้นโปรแกรมแรก Hello World

ใส่ความเห็น

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