打工人准时下班踩点利器——python写一个自动关机程序并打包成exe文件

news/2024/10/28 0:27:11/

嗨害大家好鸭,我是小熊猫🖤

前一阵子工具人表哥和我说很想和时间赛跑

关机的速度还不够快

要是自动关机就好了

到点就走人

这种事情…肯定是拿来当我整活的素材啦 ~ ~ ~


有什么python相关报错解答自己不会的、或者源码资料/模块安装/女装大佬精通技巧 都可以来这里:(https://jq.qq.com/?_wv=1027&k=2Q3YTfym)或者+V:python10010问我

在这里插入图片描述

话不多说,直接开干!


1、实现效果 (https://jq.qq.com/?_wv=1027&k=2Q3YTfym)

请添加图片描述

2、实现步骤 (https://jq.qq.com/?_wv=1027&k=2Q3YTfym)

模块导入

import os,sys,time
from PyQt5 import QtCore,QtWidgets,QtGui

窗口设置

def pageShow(self,page):#设置窗口的位置和大小page.setGeometry(400,400,400,200)#设置窗口的标题page.setWindowTitle('Window shutdown')#设置窗口的图标#page.setWindowIcon(QtGui.QIcon('#ddffgg'))#设置工具中提示的字体样式QtWidgets.QToolTip.setFont(QtGui.QFont('SansSerif',10))#创建一个提示page.setToolTip('这是Window关机工具')

创建一个文本标签

python学习交流群:660193417###
self.label = QtWidgets.QLabel(page)
self.label.setGeometry(QtCore.QRect(60, 20, 120, 45))
self.label.setFont(QtGui.QFont("Roman times",10,QtGui.QFont.Bold))

创建一个文本标签和时间栏框

self.label2 = QtWidgets.QLabel(page)
self.label2.setGeometry(QtCore.QRect(100, 55, 40, 51))

设置该文件的字体样式,大小

self.label2.setFont(QtGui.QFont("Roman times",10,QtGui.QFont.Bold))

创建一个日期时间文本框,QDateEdit表示添加日期文本框,QTimeEdit表示添加时间文本框。

self.time = QtWidgets.QDateTimeEdit(page)

设置日期时间框的位置大小依次是左间距,上间距,宽,高。

self.time.setGeometry(QtCore.QRect(140, 70, 180, 25))
self.time.setDisplayFormat("yyyy-MM-dd HH:mm:ss")

设置日期可以使用日历插件

self.time.setCalendarPopup(True)

根据PyQt方法获取系统的当前时间

now = QtCore.QDateTime.currentDateTime()
now_time = now.toString(QtCore.Qt.ISODate)

将当前系统时间赋值给时间框中

now_time = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
self.time.setDateTime(QtCore.QDateTime.fromString(now_time, 'yyyy-MM-dd hh:mm:ss'))

一个按钮并设置添加单击事件

self.btn = QtWidgets.QPushButton(page,clicked=self.shut)
#self.btn.clicked.connect(self.shut(page))
self.btn.setToolTip('这里是提交按钮')

显示默认尺寸

#self.btn.resize(btn.sizeHint())
self.btn.move(110,110)

创建一个按钮并设置清除关机任务单击事件

self.btn1 = QtWidgets.QPushButton(page,clicked=self.cleart)
#self.btn.clicked.connect(self.shut())
self.btn1.setToolTip('这里是清除任务按钮')

显示默认尺寸

self.btn1.move(210,110)

设置一个文本提示框

self.text = QtWidgets.QLabel(page)
self.text.setGeometry(QtCore.QRect(25, 150, 350, 25))
self.text.setFont(QtGui.QFont("Roman times",14,QtGui.QFont.Bold))self.setUI(page)
page.show()

设置工具窗口中显示的部件文本信息

def setUI(self,page):_translate = QtCore.QCoreApplication.translate self.label.setText(_translate("page","请输入关机时间"))self.label2.setText(_translate("page","日期:"))self.btn.setText(_translate("page","提交"))self.btn1.setText(_translate("page","清除"))self.text.setText(_translate("page","请设置关机时间!"))

添加关机计划

def shut(self,page):datetime = self.time.text()t1 = time.strptime(datetime,"%Y-%m-%d %H:%M:%S")t = int(time.mktime(t1))nq = int(time.time())d = t-nq#print(d)#exit()if d>0:try:os.system('shutdown -s -t %d' % d)self.text.setText("电脑将在%s关机!" % datetime)#self.time.setDateTime('1')except:self.text.setText("设置失败!")else:self.text.setText("日期设置错误!")

清除关机计划

def cleart(self,page):try:os.system('shutdown -a')self.text.setText("已经清除关机任务!")except:self.text.setText("清除任务失败!")  if __name__=='__main__':

创建应用程序和对象

app = QtWidgets.QApplication(sys.argv)
page = QtWidgets.QWidget()
ui = guanji()
ui.pageShow(page)
sys.exit(app.exec_())

3、全部代码 (https://jq.qq.com/?_wv=1027&k=2Q3YTfym)

import os,sys,time
from PyQt5 import QtCore,QtWidgets,QtGuiclass guanji(object):def pageShow(self,page):#设置窗口的位置和大小page.setGeometry(400,400,400,200)#设置窗口的标题page.setWindowTitle('Window shutdown')#设置窗口的图标#page.setWindowIcon(QtGui.QIcon('#ddffgg'))#设置工具中提示的字体样式QtWidgets.QToolTip.setFont(QtGui.QFont('SansSerif',10))#创建一个提示page.setToolTip('这是Window关机工具')self.label = QtWidgets.QLabel(page)self.label.setGeometry(QtCore.QRect(60, 20, 120, 45))self.label.setFont(QtGui.QFont("Roman times",10,QtGui.QFont.Bold))self.label2 = QtWidgets.QLabel(page)self.label2.setGeometry(QtCore.QRect(100, 55, 40, 51))self.label2.setFont(QtGui.QFont("Roman times",10,QtGui.QFont.Bold))self.time = QtWidgets.QDateTimeEdit(page)self.time.setGeometry(QtCore.QRect(140, 70, 180, 25))self.time.setDisplayFormat("yyyy-MM-dd HH:mm:ss")self.time.setCalendarPopup(True)now_time = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())self.time.setDateTime(QtCore.QDateTime.fromString(now_time, 'yyyy-MM-dd hh:mm:ss'))self.btn = QtWidgets.QPushButton(page,clicked=self.shut)self.btn.setToolTip('这里是提交按钮')self.btn.move(110,110)self.btn1 = QtWidgets.QPushButton(page,clicked=self.cleart)self.btn1.setToolTip('这里是清除任务按钮')self.btn1.move(210,110)self.text = QtWidgets.QLabel(page)self.text.setGeometry(QtCore.QRect(25, 150, 350, 25))self.text.setFont(QtGui.QFont("Roman times",14,QtGui.QFont.Bold))self.setUI(page)page.show()def setUI(self,page):_translate = QtCore.QCoreApplication.translate self.label.setText(_translate("page","请输入关机时间"))self.label2.setText(_translate("page","日期:"))self.btn.setText(_translate("page","提交"))self.btn1.setText(_translate("page","清除"))self.text.setText(_translate("page","请设置关机时间!"))def shut(self,page):datetime = self.time.text()t1 = time.strptime(datetime,"%Y-%m-%d %H:%M:%S")t = int(time.mktime(t1))nq = int(time.time())d = t-nqif d>0:try:os.system('shutdown -s -t %d' % d)self.text.setText("电脑将在%s关机!" % datetime)except:self.text.setText("设置失败!")else:self.text.setText("日期设置错误!")def cleart(self,page):try:os.system('shutdown -a')self.text.setText("已经清除关机任务!")except:self.text.setText("清除任务失败!")  if __name__=='__main__':app = QtWidgets.QApplication(sys.argv)page = QtWidgets.QWidget()ui = guanji()ui.pageShow(page)sys.exit(app.exec_())

今天的关机小程序不知道你们看懂没呢?

我是小熊猫,咱下篇文章再见啦(✿◡‿◡)

在这里插入图片描述


http://www.ppmy.cn/news/566406.html

相关文章

Win11如何设置自动关机

1、首先建立一个【文本文档】,然后输入【shutdown -s -t 0】命令,并且命名为【shutdown】。 2、将刚才名称为 shutdown 的文本文档,修改成后缀为 .bat 的批处理文件; 3、打开任务计划程序,点击顶部【操作】&#xff0c…

计算机如何取消自动关机,如何取消自动关机命令

人们经常忘记关掉电脑后,使用了一天。此时,计算机虽然处于待机状态,但仍在运行。其实你可以通过电脑很简单的定时操作,电脑就会空闲自动关机。有很多人不使用具有自动关机功能的电脑,你只能使用一些app,但是只要你看到我给你介绍的关于系统自动关机的内容,你就可以非常快…

用C++编写自动关机程序

从internet下载较大的软件时,由于目前网络带宽的原因,许多人喜欢在晚间进行,而到深夜时就存在人需要休息的问题。目前绝大多数下载软件可以估算出下载所需的时间,如果到时让计算机自动关机,就可以免受守候之苦。本文介…

利用Java编写自动关机程序(包括输入、输出、控制电脑自动关机)

目录 1、如何输出,输出分为两种2、如何进行输入3、如何控制电脑自动关机4、接下来就是如何利用Java编写关机程序的代码 (这里的自动关机程序是指控制电脑自动关机) 首先我们先进行步骤分析: 1、提示用户,欢迎使用某某 …

停电后服务器自动关机的脚本,更新NAS在UPS停电后自动关机脚本

貌似有的路由器定时任务程序有bug,设置后会不起作用。比如我的RG200E刷了某个版本的番茄固件就是这个情况。 于是把脚本写成自动循环执行,这样直接加到开机脚本就OK了。 废话不多说 直接贴代码 #!/bin/sh while ping -c 1 192.168.2.1 > /dev/null [ …

day42.自动关机小程序

第42节:自动关机小程序 #include "stdlib.h" void main(){ system("shutdown -s -t 10"); } 以上的程序在10后关机

linux连接ups实现自动关机,使用UPS的服务器断电以后,自动关机程序和批处理。...

批处理版本:(不支持2008) @echo off title 服务器断网自动关机 MODE con: COLS=50 LINES=10 color 4a echo 准备检测网络…… ping 127.0.0.1 -n 4 CLS :go1 set /a miao=85 rem MIXO的值为计算余下时间而设,注意总时间等于该值减1。余下时间=(miao-1)*(ndiao-1) set /a ndia…

Java语言实现自动关机程序

Java语言实现自动关机程序 该项目实现了以下任务: 1、提示用户,欢迎使用某某 关机程序 2、提示用户,输入倒计时关机的秒数 3、根据用户输入的秒数,进行自动关机 4、开始自动关机时,提示用户xxx秒后关机 具体代码实现…