ในการเขียนโปรแกรม Digital Clock นี้เราต้องวิเคราะห์กันก่อนครับ จากโค้ดนี้
import time while True != False: print(time.strftime("%H"+":"+"%M"+":"+"%S")) time.sleep(1)
เราต้องดึงโมดูล time และ sys มาใช้งาน นอกจากนั้นเราต้อง Loop ให้ตัวเลขเปลี่ยนไปตามที่เวลาที่เปลี่ยนไปครับ แต่ใน Qt มี QtCore.QTimer , QtCore.QTime.currentTime() มาเรียกใช้งานเกี่ยวกับเวลาโดยที่เราไม่ต้องเป็นต้อง import time อีกครับ นอกจากนั้นใน Qt เราต้องใช้ QtGui.QLCDNumber สำหรับการแสดงผลครับ
โค้ดตัวอย่าง :
from PySide import QtCore, QtGui class DigitalClock(QtGui.QLCDNumber): def __init__(self, parent=None): super(DigitalClock, self).__init__(parent) self.setSegmentStyle(QtGui.QLCDNumber.Filled) timer = QtCore.QTimer(self) timer.timeout.connect(self.showTime) timer.start(1000) self.showTime() self.setWindowTitle("โปรแกรมตัวอย่าง Digital Clock") #ชื่อหัวโปรแกรม self.resize(350,150) #กำหนดขนาด def showTime(self): time = QtCore.QTime.currentTime() text = time.toString('hh:mm') if (time.second() % 3) == 0: text = text[:2] + ' ' + text[3:] self.display(text) if __name__ == '__main__': import sys app = QtGui.QApplication(sys.argv) clock = DigitalClock() clock.show() sys.exit(app.exec_())
ผลลัพธ์
ติดตามบทความต่อไปนะครับ :)
ขอบคุณครับ
ประกาศเพิ่มเติมวันที่ 27 สิงหาคม พ.ศ.2557
ตอบลบ================================
เลื่อนการประกาศผลไปเป็นสิ้นเดือนหน้าครับ ระหว่างนี้สามารถส่งเข้ามากันได้เรื่อย ๆ ไม่จำกัดครับ