用户:
xiaole6324查看:3 回复:3 评论:3 创建时间:2022-10-20T15:14:58
【作品展示】 【作品简介】 看README.喵! QLCDNumber做的时钟,练习PySide6的使用 【完整代码】 代码较长,被我托管在了 github.com/Rx584/QtClock 或 gitee.com/xiaole332/QtClock 【提示】 部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
xiaole6324#Clock.py
from ui_Clock import *
from PySide6.QtWidgets import *
from PySide6.QtCore import *
from PySide6.QtGui import *
import sys
import time
class Clock(QMainWindow,Ui_QtClock):
def __init__(self):
super().__init__()
self.setupUi(self)
self.years=2020
self.months = 1
self.days=1
self.hours = 12
self.mins = 0
self.secs=0
self.weeks = 0
self.setWindowIcon(QIcon("./icon.ico"))
self.timer = QTimer()
self.topcont = False
self.nvb = False
self.start_button.clicked.connect(self.start_clock)
self.Freamleass.clicked.connect(self.Windowhasnoborder)
self.close.clicked.connect(self.closeClock)
self.windowontop.clicked.connect(self.windowOnTop)
self.show()
def start_clock(self):
self.start_button.setEnabled(False)
self.update_time()
self.timer.start(1000)
self.timer.timeout.connect(self.update_time)
def update_time(self):
#while(True):
self.get_time()
self.year.display(self.years)
self.month.display(self.months)
self.day.display(self.days)
self.hour.display(self.hours)
self.minutes.display(self.mins)
self.second.display(self.secs)
self.week.display(self.weeks)
def get_time(self):
temp = time.strftime("%D")
self.years=int(temp.split("/")[2])+2000
self.months = int(temp.split("/")[0])
self.days = int(temp.split("/")[1])
self.hours = int(time.strftime("%H"))
self.mins = int(time.strftime("%M"))
self.secs = int(time.strftime("%S"))
self.get_week()
def get_week(self):
week_dict = {"Monday":1,"Tuesday":2,"Wednesday":3,"Thursday":4,"Friday":5,"Saturday":6,"Sunday":7}
self.weeks = week_dict[time.strftime("%A")]
def Windowhasnoborder(self):
self.nvb = True
self.Freamleass.setEnabled(False)
self.update_windowflag()
self.show()
def update_windowflag(self):
if self.topcont:
self.setWindowFlag(Qt.WindowStaysOnTopHint)
if self.nvb:
self.setWindowFlag(Qt.FramelessWindowHint)
def closeClock(self):
sys.exit()
def windowOnTop(self):
self.topcont = True
self.windowontop.setEnabled(False)
self.update_windowflag()
self.show()
if __name__=="__main__":
app=QApplication(sys.argv)
window = Clock()
sys.exit(app.exec())
点赞0
评论
xiaole6324# -*- coding: utf-8 -*-
################################################################################
## Form generated from reading UI file 'Clock.ui'
##
## Created by: Qt User Interface Compiler version 6.2.0
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################
from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
QMetaObject, QObject, QPoint, QRect,
QSize, QTime, QUrl, Qt)
from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
QFont, QFontDatabase, QGradient, QIcon,
QImage, QKeySequence, QLinearGradient, QPainter,
QPalette, QPixmap, QRadialGradient, QTransform)
from PySide6.QtWidgets import (QApplication, QHBoxLayout, QLCDNumber, QLabel,
QMainWindow, QPushButton, QSizePolicy, QVBoxLayout,
QWidget)
class Ui_QtClock(object):
def setupUi(self, QtClock):
if not QtClock.objectName():
QtClock.setObjectName(u"QtClock")
QtClock.resize(540, 226)
QtClock.setMinimumSize(QSize(540, 226))
QtClock.setMaximumSize(QSize(540, 226))
self.centralwidget = QWidget(QtClock)
self.centralwidget.setObjectName(u"centralwidget")
self.verticalLayout = QVBoxLayout(self.centralwidget)
self.verticalLayout.setObjectName(u"verticalLayout")
self.horizontalLayout = QHBoxLayout()
self.horizontalLayout.setObjectName(u"horizontalLayout")
self.year = QLCDNumber(self.centralwidget)
self.year.setObjectName(u"year")
self.horizontalLayout.addWidget(self.year)
self.label = QLabel(self.centralwidget)
self.label.setObjectName(u"label")
self.horizontalLayout.addWidget(self.label)
self.month = QLCDNumber(self.centralwidget)
self.month.setObjectName(u"month")
self.horizontalLayout.addWidget(self.month)
self.label_2 = QLabel(self.centralwidget)
self.label_2.setObjectName(u"label_2")
self.horizontalLayout.addWidget(self.label_2)
self.day = QLCDNumber(self.centralwidget)
self.day.setObjectName(u"day")
self.horizontalLayout.addWidget(self.day)
self.label_3 = QLabel(self.centralwidget)
self.label_3.setObjectName(u"label_3")
self.horizontalLayout.addWidget(self.label_3)
self.week = QLCDNumber(self.centralwidget)
self.week.setObjectName(u"week")
self.horizontalLayout.addWidget(self.week)
self.verticalLayout.addLayout(self.horizontalLayout)
self.horizontalLayout_2 = QHBoxLayout()
self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
self.hour = QLCDNumber(self.centralwidget)
self.hour.setObjectName(u"hour")
self.horizontalLayout_2.addWidget(self.hour)
self.label_4 = QLabel(self.centralwidget)
self.label_4.setObjectName(u"label_4")
self.horizontalLayout_2.addWidget(self.label_4)
self.minutes = QLCDNumber(self.centralwidget)
self.minutes.setObjectName(u"minutes")
self.horizontalLayout_2.addWidget(self.minutes)
self.label_5 = QLabel(self.centralwidget)
self.label_5.setObjectName(u"label_5")
self.horizontalLayout_2.addWidget(self.label_5)
self.second = QLCDNumber(self.centralwidget)
self.second.setObjectName(u"second")
self.horizontalLayout_2.addWidget(self.second)
self.label_6 = QLabel(self.centralwidget)
self.label_6.setObjectName(u"label_6")
self.horizontalLayout_2.addWidget(self.label_6)
self.verticalLayout.addLayout(self.horizontalLayout_2)
self.horizontalLayout_3 = QHBoxLayout()
self.horizontalLayout_3.setObjectName(u"horizontalLayout_3")
self.start_button = QPushButton(self.centralwidget)
self.start_button.setObjectName(u"start_button")
self.horizontalLayout_3.addWidget(self.start_button)
self.Freamleass = QPushButton(self.centralwidget)
self.Freamleass.setObjectName(u"Freamleass")
self.horizontalLayout_3.addWidget(self.Freamleass)
self.windowontop = QPushButton(self.centralwidget)
self.windowontop.setObjectName(u"windowontop")
self.horizontalLayout_3.addWidget(self.windowontop)
self.close = QPushButton(self.centralwidget)
self.close.setObjectName(u"close")
self.horizontalLayout_3.addWidget(self.close)
self.verticalLayout.addLayout(self.horizontalLayout_3)
QtClock.setCentralWidget(self.centralwidget)
self.retranslateUi(QtClock)
QMetaObject.connectSlotsByName(QtClock)
# setupUi
def retranslateUi(self, QtClock):
QtClock.setWindowTitle(QCoreApplication.translate("QtClock", u"Clock", None))
self.label.setText(QCoreApplication.translate("QtClock", u"\u5e74", None))
self.label_2.setText(QCoreApplication.translate("QtClock", u"\u6708", None))
self.label_3.setText(QCoreApplication.translate("QtClock", u"\u65e5 \u661f\u671f", None))
self.label_4.setText(QCoreApplication.translate("QtClock", u"\u65f6", None))
self.label_5.setText(QCoreApplication.translate("QtClock", u"\u5206", None))
self.label_6.setText(QCoreApplication.translate("QtClock", u"\u79d2", None))
self.start_button.setText(QCoreApplication.translate("QtClock", u"\u542f\u52a8\uff01", None))
self.Freamleass.setText(QCoreApplication.translate("QtClock", u"\u6253\u5f00\u7a97\u53e3\u65e0\u8fb9\u6846", None))
self.windowontop.setText(QCoreApplication.translate("QtClock", u"\u542f\u7528\u7a97\u53e3\u7f6e\u9876", None))
self.close.setText(QCoreApplication.translate("QtClock", u"\u5173\u95ed", None))
# retranslateUi
点赞0
评论