21 สิงหาคม 2557

Published 8/21/2557 by with 0 comment

สร้าง GUI ด้วย PySide ตอนที่ 4 : ทำปุ่มกัน

สวัสดีทุกท่านครับ บทความนี้ผมจะพาทุกท่านไปทำปุ่มบน GUI ด้วย PySide ครับ การที่เราจะสร้างปุ่มกดบนบน GUI ด้วย PySide เราต้องใช้โมดูลของ PySide นั้นคือ QPushButton
โดยมีลักษณะการใช้งานดังตัวอย่างต่อไปนี้ครับ
ตัวอย่างที่ 8
import sys
from PySide.QtCore import *
from PySide.QtGui import *

app = QApplication(sys.argv)
hello = QPushButton("Hello world!") #กำหนดข้อความในปุ่ม
hello.resize(100, 30) #กำหนดขนาดของปุ่ม

hello.show()
sys.exit(app.exec_())

ผลลัพธ์
จากตัวอย่างที่ 8 พอเราคลิกที่ปุ่ม Hello world! แล้วพบว่าไม่มีอะไรเกิดขึ้น หากเราต้องการให้มีการกระทำเกิดขึ้นหลังจากกดปุ่มเช่น ปิดโปรแกรมโดยมีลักษณะการใช้งานดังตัวอย่างต่อไปนี้ครับ
ตัวอย่างที่ 9
import sys
from PySide.QtCore import *
from PySide.QtGui import *

app = QApplication(sys.argv)
quit = QPushButton("Quit") #กำหนดข้อความในปุ่ม
quit.resize(75, 30) #กำหนดขนาดของปุ่ม
quit.setFont(QFont("Times", 18,QFont.Bold))
QObject.connect(quit,SIGNAL("clicked()"),
app, SLOT("quit()"))

quit.show()
sys.exit(app.exec_())

ผลลัพธ์
จากตัวอย่างที่ 9 เมื่อเเราคลิกที่ปุ่ม Quit พบว่า ได้มีการปิดโปรแกรมครับ เพราะเราได้มีการตั้งค่าที่โค้ด
QObject.connect(quit,SIGNAL("clicked()"),app, SLOT("quit()"))
ได้มีการเชื่อมต่อกับวัตถุ quit ซึ่งเป็นปุ่มแล้วเราได้กำหนดเงื่อนไข SIGNAL("clicked()") เมื่อคลิกแล้วให้มีการกระทำกับวัตถุ  app โดยใช้โค้ดคำสั่ง SLOT("quit()")) คือปิดหน้าต่างโปรแกรมครับ
ข้อควรรู้
เราสามารถกำหนด Font ตัวอักษร PySide ได้โดยใช้
setFont(QFont("ชื่อ Font", ขนาด, ถ้าต้องการกำหนดตัวหนาให้ใส่ QFont.Bold เพิ่ม)) #ตัวอย่างเช่น setFont(QFont("ชื่อ Font เช่น Times", ขนาด เช่น 18,QFont.Bold))
สามารถใช้ได้ทั้ง QLabel,QPushButton และต่าง ๆ ที่ใช้ตัวอักษรครับ

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

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

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

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