运用Pyqt5实现简易时钟

小练手:直接上程序,比较简单,没做过多的美化。

# -*- coding: utf-8 -*-

from PyQt5.QtWidgets import QApplication, QWidget, QLCDNumber, QDesktopWidget, QVBoxLayout
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import time
import sys
class ShiZhong(QWidget):
    def __init__(self):
        super(ShiZhong, self).__init__()
        self.initUI()
        self.init_timer()

    def initUI(self):
        self.resize(250, 150)
        self.setWindowTitle('电子时钟')
        self.move_center()
        self.m = QPalette()
        self.m.setColor(QPalette.Background, Qt.darkRed)
        self.setAutoFillBackground(True)
        self.setPalette(self.m)
        self.lcd = QLCDNumber()
        self.lcd.setDigitCount(10)
        self.lcd.setMode(QLCDNumber.Dec)
        self.lcd.setSegmentStyle(QLCDNumber.Flat)
        self.lcd.display(time.strftime("%X", time.localtime()))
        self.m_layout = QVBoxLayout()
        self.m_layout.addWidget(self.lcd)
        self.m_layout.setAlignment(Qt.AlignCenter)
        self.setLayout(self.m_layout)
        self.show()

    def init_timer(self):
        self.timer = QTimer()
        self.timer.setInterval(1000)
        self.timer.start()
        self.timer.timeout.connect(self.update_time)

    def update_time(self):
        self.lcd.display(time.strftime("%X", time.localtime()))

    def move_center(self):
        m_rect = self.frameGeometry()
        w_center_point = QDesktopWidget().availableGeometry().center()
        m_rect.moveCenter(w_center_point)
        self.move(m_rect.topLeft())

在运行的时候,加上通用的语句:

if __name__ == '__main__':
    app = QApplication(sys.argv)
    m_time = ShiZhong()
    m_time.show()
    sys.exit(app.exec_())

然后Ctrl+Shift+F10,就可以看到结果啦睡觉






猜你喜欢

转载自blog.csdn.net/shangxiaqiusuo1/article/details/80903081
今日推荐