Skip to content

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

สวัสดีทุกท่านครับ  บทความที่ 6 ตอน Dialog นี้จะขอพูดถึงเรื่อง Dialog โดยใช้ GUI ด้วย PySide ครับ เป็นกรอบรับค่าข้อมูลต่าง ๆ ครับ โดยสามารถรับค่าข้อมูลได้โดยตรงเฉพาะในกรอบที่กำหนดไว้ครับ

Dialog ใน PySide มีดังนี้ครับ

  • QInputDialog
  • QColorDialog 
  • QFontDialog
  • QFileDialog 
  • QPrintDialog

QInputDialog 

เป็นกรอบรับค่าข้อมูลครับ โดยจะมี  from ให้กรอกข้อมูลขึ้นมาครับ มีลักษณะการใช้งานดังนี้ครับ
โค้ดตัวอย่าง

import sys

from PySide.QtCore import *

from PySide.QtGui import *



app = QApplication(sys.argv)

gui = QWidget()

text, ok = QInputDialog.getText(gui, "question",

            """please put the thing I need from you""")

app.exec_()

ผลลัพธ์

QInputDialog

QColorDialog 

เป็นกรอบรับค่าสีครับ โดยจะปรากฏแถบสีให้เลือกครับ มีลักษณะการใช้งานดังนี้ครับ
โค้ดตัวอย่าง

import sys

from PySide.QtCore import *

from PySide.QtGui import *



app = QApplication([])



win = QWidget()



colour_dia = QColorDialog()

mycolour = QColor(0, 0, 0, 0).rgba()



#This needs a integer value for colour

colour_dia.setCustomColor(0, mycolour)



selected_colour = colour_dia.getColor()

app.exec_()

ผลลัพธ์

QColorDialog

QFontDialog 

เป็นกรอบรับค่าฟอนต์ตัวอักษรครับ สามารถนำไปประยุกต์กับการเขียนโปรแกรมพิมพ์อักษรได้ครับ มีลักษณะการใช้งานดังนี้ครับ
โค้ดตัวอย่าง

import sys

from PySide.QtCore import *

from PySide.QtGui import *



app = QApplication([])



win = QWidget()



Font = QFontDialog()



Font.show()

app.exec_()

ผลลัพธ์

QFontDialog

QFileDialog 

เป็นกรอบรับค่าไฟล์เข้ามาครับ ลักษณะการใช้งานดังนี้ครับ
โค้ดตัวอย่าง

import sys

from PySide.QtCore import *

from PySide.QtGui import *





app = QApplication(sys.argv)

window = QWidget()



file = str(QFileDialog.getExistingDirectory(window, "Select Directory"))



window.show()

app.exec_()

ผลลัพธ์

QFileDialog

QPrintDialog

เป็นกรอบรับค่าไฟล์เข้ามาครับ ลักษณะการใช้งานดังนี้ครับ
โค้ดตัวอย่าง

import sys

from PySide.QtCore import *

from PySide.QtGui import *





Appli=QApplication(sys.argv)

printer=QPrinter()

doc=QTextDocument("Hello" )

dialog = QPrintDialog(printer)

dialog.setModal(True)

dialog.setWindowTitle("Print Document" )



# dialog.addEnabledOption(QAbstractPrintDialog.PrintSelection)



if dialog.exec_() == True:

    doc.print_(printer)

ผลลัพธ์

QPrintDialog

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

Published on Categories GUI, PySide

About wannaphong

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

ใส่ความเห็น

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