Skip to content

สร้าง GUI ด้วย PySide ตอนที่ 6: Message Box

สวัสดีทุกท่านครับ บทความนี้ผมจะพูดถึงเรื่อง  Message Box ใน PySide ครับ Message Box คือ กล่องข้อความ เป็นกล่องข้อความโต้ตอบกับผู้ใช้แเมื่อมีการกระทำเกิดขึ้นครับ ตัวอย่างเช่น คุณกำลังพิมพ์เอกสารในโปรแกรมพิมพ์เอกสารแล้วคุณไปกด X โดยที่ไม่ได้บันทึกจะขึ้นข้อความตอบโต้ว่า

"คุณต้องการบันทึกไหม"

ประมาณนี้ครับ เรามาเริ่มต้นเขียนโค้ดกันเลยนะครับ ในการใช้ Message Box นั้นเราต้องใช้ QMessageBox ครับ มีลักษณะการใช้งานตามตัวอย่างต่อไปนี้ครับ
ตัวอย่างที่ 10

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



class MessageBox(QWidget):
     def __init__(self, parent=None):
         QWidget.__init__(self, parent)
         self.setGeometry(300, 300, 250, 150)
         self.setWindowTitle('กล่องข้อความ') #ชื่อหัวของโปรแกรม


     def closeEvent(self, event): #กำหนดการกระทำเมื่อมีความต้องการปิดโปรแกรม
         reply = QMessageBox.question(self, 'Message',
             "คุณแน่ใจนะว่าคุณต้องการปิดโปรแกรม?", QMessageBox.Yes,
QMessageBox.No)
         if reply == QMessageBox.Yes:
             event.accept() #ยันยืนการกระทำคือปิดโปรแกรมครับ
         else:
             event.ignore() #ไม่สนใจการกระทำ คือ ไม่ปิดโปรแกรมครับ


app = QApplication(sys.argv)
qb = MessageBox() #อ้างอิงคลาส MessageBox
qb.show() #แสดงผล
sys.exit(app.exec_())

อธิบาย QMessageBox.question กำหนดข้อความประโยคคำถาม  แล้วกำหนดให้มี QMessageBox.Yes นั้นคือปุ่ม Yes ส่วน QMessageBox.No นั้นคือปุ่ม No ครับ
ผลลัพธ์
เมื่อยังไม่ได้คลิก X เพื่อปิดโปรแกรม

เมื่อคลิก X เพื่อปิดโปรแกรม

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

Published on Categories GUI, PySide

About wannaphong

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

1 thought on “สร้าง GUI ด้วย PySide ตอนที่ 6: Message Box

ใส่ความเห็น

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