PYQT制作动态时钟

所有代码:

python 复制代码
import sys
from PyQt5.QtCore import Qt, QTimer, QRect
from PyQt5.QtGui import QPixmap, QTransform, QPainter, QImage
from PyQt5.QtWidgets import QApplication, QLabel
from PyQt5 import uic
import new


def adder():
    global i
    global angle_s, angle_m, angle_h
    i += 1
    angle_s += 6
    if angle_s == 360:
        angle_s = 0
        angle_m = i / 10
        angle_h = i / 120
        if angle_m == 360:
            angle_m = 0
        if angle_h == 360:
            angle_h = 0
            i = 0


if __name__ == '__main__':
    app = QApplication(sys.argv)
    form = uic.loadUi('clock.ui')  # 导入ui
    form.show()

    form.label_second.setAlignment(Qt.AlignCenter)
    form.label_minute.setAlignment(Qt.AlignCenter)
    form.label_hour.setAlignment(Qt.AlignCenter)

    # 加载并设置图片
    image_second = QPixmap("second300")
    form.label_second.setPixmap(image_second)
    image_minute = QPixmap("minute300")
    form.label_minute.setPixmap(image_minute)
    image_hour = QPixmap("hour300")
    form.label_hour.setPixmap(image_hour)

    i = 0
    angle_s = 0
    angle_m = 0
    angle_h = 0

    timer = QTimer()
    timer.start(100)
    timer.timeout.connect(adder)
    timer.timeout.connect(lambda: form.label_second.setPixmap(image_second.transformed(QTransform().rotate(angle_s))))
    timer.timeout.connect(lambda: form.label_minute.setPixmap(image_minute.transformed(QTransform().rotate(angle_m))))
    timer.timeout.connect(lambda: form.label_hour.setPixmap(image_hour.transformed(QTransform().rotate(angle_h))))

    sys.exit(app.exec_())
相关推荐
大学生毕业题目6 小时前
毕业项目推荐:92-基于yolov8/yolov5/yolo11的棉花病虫害检测识别系统(Python+卷积神经网络)
python·yolo·目标检测·cnn·pyqt·棉花病虫害
深蓝海拓6 小时前
PySide6从0开始学习的笔记(二十一) 使用loadUi直接加载.ui文件
笔记·python·qt·学习·ui·pyqt
深蓝海拓2 天前
PySide6从0开始学习的笔记(二十) qdarkstyle的深入应用
笔记·python·qt·学习·pyqt
我可以将你更新哟2 天前
【PyQT-2】布局管理
pyqt
懷淰メ3 天前
python3GUI--基于深度学习的人脸识别管理系统(详细图文介绍)
人工智能·深度学习·人脸识别·pyqt·人脸·识别系统·人脸管理
我可以将你更新哟3 天前
【PyQT-4】QListWidget列表控件、QComboBox下拉列表控件、QTableWidget表格控件
开发语言·python·pyqt
我可以将你更新哟4 天前
【pyqt-1】把Qt Designer集成到pyCharm,PyQT(窗口、添加空控件、事件处理)
qt·pycharm·pyqt
懷淰メ5 天前
python3GUI--基于YOLOv8深度学习的车牌识别系统(详细图文介绍)
深度学习·opencv·yolo·pyqt·图像识别·车牌识别·pyqt5
大学生毕业题目6 天前
毕业项目推荐:90-基于yolov8/yolov5/yolo11的工程车辆检测识别系统(Python+卷积神经网络)
人工智能·python·yolo·目标检测·cnn·pyqt·工程车辆检测
深蓝海拓6 天前
PySide6从0开始学习的笔记(十八) MVC(Model-View-Controller)模式的图形渲染体系
笔记·python·qt·学习·pyqt