26 สิงหาคม 2557

Published 8/26/2557 by with 0 comment

สร้าง 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

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

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

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

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