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_())
相关推荐
微小冷2 天前
pyqt+matplotlib多进程图像刷新
pyqt·matplotlib·进程通信·多进程·queue·process
千里码aicood2 天前
PyQt基于卷积神经网络的智慧校园的设计与实现
人工智能·cnn·pyqt
千里码aicood2 天前
基于PyQt心理咨询机器人智能系统的设计与实现
机器人·pyqt
典典分享指南2 天前
Windows 自动化踩坑实录
python·intellij-idea·pyqt·emacs·visual studio
深蓝海拓5 天前
基于QtPy (PySide6) 的PLC-HMI工程实战记录(五)为当前动作画面的信号连接变量
网络·笔记·python·学习·pyqt
智购科技自动售卖机厂家8 天前
2026自动售货机OTA升级系统设计:从全量升级到差分升级的带宽优化工程实践~YH
大数据·人工智能·numpy·pyqt·fastapi
【赫兹威客】浩哥8 天前
【无标题】
python·spring·django·pyqt
小灰灰搞电子10 天前
PyQt QTextBoundaryFinder类详解:精准定位文本边界
pyqt
小灰灰搞电子11 天前
PyQt 实现自己的桌面萌宠源码分享
pyqt
小灰灰搞电子14 天前
PyQt6 QCommandLineParser 类详解:命令行参数解析实战指南
pyqt·参数解析