当前位置: 首页 > news >正文

上海公司注册网上申请深圳优化公司统高粱seo

上海公司注册网上申请,深圳优化公司统高粱seo,珠海网站制作平台,app制作需要哪些技术1、介绍 使用Python编写一个久坐提醒软件。功能: 设置工作时间。设置休息时间。选择休息时是否播放音乐。休息时,软件置顶,且不能关闭。 2、工具 语言:python3.11UI设计工具:Qt designer编译器:PyCharm包…

1、介绍

  • 使用Python编写一个久坐提醒软件。
  • 功能:
    • 设置工作时间。
    • 设置休息时间。
    • 选择休息时是否播放音乐。
    • 休息时,软件置顶,且不能关闭。

2、工具

  • 语言:python3.11
  • UI设计工具:Qt designer
  • 编译器:PyCharm
  • 包:pygame、PySide6

3、代码

  • 新建一个项目,准备好音乐。
  • 使用Qt designer设计一个UI界面,保存ui文件,再转换为py文件并保存到项目目录中,供后续使用。
  • 具体方法:Pyside6入门教学——编写一个UI界面并显示-CSDN博客
  • 转换后的py文件如下:
    • # -*- coding: utf-8 -*-
      ################################################################################
      ## Form generated from reading UI file 'SedentaryReminder.ui'
      ##
      ## Created by: Qt User Interface Compiler version 6.6.1
      ##
      ## 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, QCheckBox, QHBoxLayout, QLCDNumber,QLabel, QMainWindow, QPushButton, QSizePolicy,QSpinBox, QSplitter, QWidget)class Ui_MainWindow(object):def setupUi(self, MainWindow):if not MainWindow.objectName():MainWindow.setObjectName(u"MainWindow")MainWindow.resize(260, 300)MainWindow.setMinimumSize(QSize(260, 300))MainWindow.setMaximumSize(QSize(260, 300))self.centralwidget = QWidget(MainWindow)self.centralwidget.setObjectName(u"centralwidget")self.label_2 = QLabel(self.centralwidget)self.label_2.setObjectName(u"label_2")self.label_2.setGeometry(QRect(37, 143, 48, 20))font = QFont()font.setPointSize(12)font.setBold(True)self.label_2.setFont(font)self.label = QLabel(self.centralwidget)self.label.setObjectName(u"label")self.label.setGeometry(QRect(31, 21, 64, 20))self.label.setFont(font)self.label.setMouseTracking(True)self.ifLock = QCheckBox(self.centralwidget)self.ifLock.setObjectName(u"ifLock")self.ifLock.setGeometry(QRect(70, 169, 121, 20))self.ifLock.setMouseTracking(True)self.ok = QPushButton(self.centralwidget)self.ok.setObjectName(u"ok")self.ok.setGeometry(QRect(90, 200, 71, 23))self.splitter = QSplitter(self.centralwidget)self.splitter.setObjectName(u"splitter")self.splitter.setGeometry(QRect(61, 50, 161, 21))self.splitter.setOrientation(Qt.Horizontal)self.label_3 = QLabel(self.splitter)self.label_3.setObjectName(u"label_3")self.splitter.addWidget(self.label_3)self.workTime = QSpinBox(self.splitter)self.workTime.setObjectName(u"workTime")self.splitter.addWidget(self.workTime)self.label_5 = QLabel(self.splitter)self.label_5.setObjectName(u"label_5")self.splitter.addWidget(self.label_5)self.splitter_2 = QSplitter(self.centralwidget)self.splitter_2.setObjectName(u"splitter_2")self.splitter_2.setGeometry(QRect(61, 79, 161, 21))self.splitter_2.setOrientation(Qt.Horizontal)self.label_4 = QLabel(self.splitter_2)self.label_4.setObjectName(u"label_4")self.splitter_2.addWidget(self.label_4)self.restTime = QSpinBox(self.splitter_2)self.restTime.setObjectName(u"restTime")self.splitter_2.addWidget(self.restTime)self.label_6 = QLabel(self.splitter_2)self.label_6.setObjectName(u"label_6")self.splitter_2.addWidget(self.label_6)self.widget = QWidget(self.centralwidget)self.widget.setObjectName(u"widget")self.widget.setGeometry(QRect(60, 239, 126, 36))self.horizontalLayout = QHBoxLayout(self.widget)self.horizontalLayout.setObjectName(u"horizontalLayout")self.horizontalLayout.setContentsMargins(0, 0, 0, 0)self.label_7 = QLabel(self.widget)self.label_7.setObjectName(u"label_7")font1 = QFont()font1.setPointSize(18)font1.setBold(True)self.label_7.setFont(font1)self.horizontalLayout.addWidget(self.label_7)self.time = QLCDNumber(self.widget)self.time.setObjectName(u"time")self.horizontalLayout.addWidget(self.time)MainWindow.setCentralWidget(self.centralwidget)self.retranslateUi(MainWindow)QMetaObject.connectSlotsByName(MainWindow)# setupUidef retranslateUi(self, MainWindow):MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"\u4e45\u5750\u63d0\u9192", None))self.label_2.setText(QCoreApplication.translate("MainWindow", u"\u9009\u9879\uff1a", None))self.label.setText(QCoreApplication.translate("MainWindow", u"\u8ba1\u65f6\u5668\uff1a", None))self.ifLock.setText(QCoreApplication.translate("MainWindow", u"\u4f11\u606f\u65f6\u64ad\u653e\u97f3\u4e50", None))self.ok.setText(QCoreApplication.translate("MainWindow", u"\u5f00\u59cb", None))self.label_3.setText(QCoreApplication.translate("MainWindow", u"\u5de5\u4f5c\u65f6\u95f4\uff1a", None))self.label_5.setText(QCoreApplication.translate("MainWindow", u"\uff08\u5206\u949f\uff09", None))self.label_4.setText(QCoreApplication.translate("MainWindow", u"\u4f11\u606f\u65f6\u95f4\uff1a", None))self.label_6.setText(QCoreApplication.translate("MainWindow", u"\uff08\u5206\u949f\uff09", None))self.label_7.setText(QCoreApplication.translate("MainWindow", u"\u5de5\u4f5c", None))# retranslateUi
  • 编写main.py文件。
    • import sys
      from PySide6.QtWidgets import QApplication, QMainWindow, QLCDNumber
      from ui_SedentaryReminder import Ui_MainWindow
      from PySide6.QtCore import QTimer, Qt, QCoreApplication
      import pygameclass MainWindow(QMainWindow):def __init__(self):super(MainWindow, self).__init__()self.ui = Ui_MainWindow()  # UI类的实例化self.ui.setupUi(self)# 初始时间self.workTime = 60self.restTime = 5self.total_seconds = self.workTime * 60self.ui.workTime.setValue(self.workTime)  # 初始工作时间self.ui.restTime.setValue(self.restTime)  # 初始休息时间# 音乐地址self.musicFilePath = "./music/music.mp3"# 初始化倒计时显示self.ui.time.setSegmentStyle(QLCDNumber.Filled)self.ui.time.setDigitCount(5)  # 显示5位self.ui.time.display("00:00")# 实例化时间控件self.timer = QTimer(self)self.timer.setInterval(1000)# 初始化pygamepygame.init()pygame.mixer.init()# 点击确定开始运行self.ui.ok.clicked.connect(self.setTime)# 设置工作时间def setTime(self):self.workTime = int(self.ui.workTime.text())self.restTime = int(self.ui.restTime.text())self.total_seconds = self.workTime * 60if not self.timer.isActive():self.timer.start()self.timer.timeout.connect(self.countdownWork)# 设置工作倒计时def countdownWork(self):# 工作倒计时if self.total_seconds > 0:self.total_seconds -= 1minutes, seconds = divmod(self.total_seconds, 60)self.ui.time.display(f"{minutes:02d}:{seconds:02d}")else:self.timer.stop()self.timer.timeout.disconnect(self.countdownWork)# 休息设置self.total_seconds = self.restTime * 60self.ui.label_7.setText('休息')self.ui.ok.setDisabled(True)self.setWindowFlags(Qt.WindowStaysOnTopHint | Qt.FramelessWindowHint | Qt.Tool)  # 窗体置顶,无边框,在任务栏不显示图标window.show()  # 重新显示# 播放音乐if self.ui.ifLock.isChecked():pygame.mixer.music.load(self.musicFilePath)pygame.mixer.music.play()self.timer.start()  # 重新计时self.timer.timeout.connect(self.countdownRest)# 设置休息倒计时def countdownRest(self):# 休息倒计时if self.total_seconds > 0:self.total_seconds -= 1minutes, seconds = divmod(self.total_seconds, 60)self.ui.time.display(f"{minutes:02d}:{seconds:02d}")else:self.setWindowFlags(Qt.Window)  # 重置窗口window.show()  # 重新显示self.total_seconds = self.workTime * 60self.ui.label_7.setText('工作')self.ui.ok.setDisabled(False)self.timer.stop()self.timer.timeout.disconnect(self.countdownRest)# 关闭音乐pygame.mixer.music.stop()pygame.mixer.quit()pygame.quit()def closeEvent(self, event):super(MainWindow, self).closeEvent(event)sys.exit(app.exec())if __name__ == '__main__':app = QApplication([])  # 启动一个应用window = MainWindow()  # 实例化主窗口window.show()  # 展示主窗口sys.exit(app.exec())  # 应用关闭时关闭进程

4、展示

  •  运行程序。
  • 设置工作时间和休息时间,勾选播放音乐,点击开始。倒计时开始...
  • 工作时间结束,播放音乐,开始休息倒计时。此时,窗口置顶,并且不能关闭,也不能点击开始。
  • 休息时间结束,恢复窗口。此时可以关闭,也可以重新开始计时。
http://www.hkea.cn/news/763076/

相关文章:

  • 郑州华恩科技做网站怎么样竞价排名适合百度吗
  • flask做大型网站开发深圳seo博客
  • 合肥网站建设平台小程序怎么引流推广
  • 做网站被拘留免费找客源软件
  • 门户型网站建设百度seo快速提升排名
  • 印度做杂质的网站如何进行网络推广
  • 建设厅八大员兴安盟新百度县seo快速排名
  • 南京网站建设索q.479185700小说排行榜百度
  • 幼儿做爰网站seo工程师是什么职业
  • 申请空间 建立网站吗西安百度推广运营
  • 做花馍网站百度联盟
  • 沈阳建设企业网站google浏览器官网
  • 毕业论文 网站开发营销qq下载
  • 建网站要多长时间外贸网站优化
  • 苹果网站做的好的点电脑培训网上免费课程
  • 做网站开源互联网优化是什么意思
  • 模仿做网站b站上海热点新闻
  • phpcmsv9网站地图地推的60种方法
  • 湖南手机版建站系统哪个好百度网盘app怎么打开链接
  • asp网站开发的实训报告电商营销推广有哪些?
  • 交互设计流程外贸网站优化公司
  • 网络营销网站策划个人网站seo入门
  • 云南省网站备案要求全渠道营销的概念
  • 装修网站合作平台有哪些torrentkitty磁力猫
  • 大理网站开发长春seo结算
  • 西双版纳疫情最新情况seo营销的概念
  • 网站推广seo蜘蛛屯优化排名模板建网站价格
  • 怎样建设公司网站小程序b2b网站大全免费
  • 百度抓取不到网站百度识图搜索图片来源
  • 企业网站栏目规划的重要性网络营销的概述