用Python怎样控制电脑定时关机
Admin 2022-05-24 群英技术资讯 656 次浏览
无论家用电脑还是公司的电脑,定时开关机都是一个非常实用的功能,只是一般都不太受关注。定时关机不仅能延长电脑的使用寿命,还能节约超多的电费呢~哈哈哈哈
害~这不,周天休假一天,但是公司的电脑大部分的小伙伴儿就开了一天,有时候放长假的时候电脑一开就是几天。这不?隔壁的小姐姐已经被领导发现了,最后的最后这个事情就落到我手里了,开发一个能定时关机的源码项目供大家使用,并互相提醒每个人一定要下班关机!
定时开关机是个非常简单又实用的功能,跟着本文用不了10分钟你就能学会如何进行操作了哈~
本文介绍了:普通人关机的习惯方式、以及程序员关机的方式哈!主页(pc端)左侧有源码滴~
并且程序员关机附了2份代码喜欢tkinter的就用tk版本的,喜欢pyqt5的就用这版本的。两个版本大家自己爱用那个用那个哈~
0)优雅的关机
1)快捷键关机
使用快捷键关机相信是大家比较常用的方法了吧?也是最简单方便的方法。
按下快捷键【Alt】+【F4】弹出功能对话框,实现快速关机,又快又准效率极高。
2)任务管理器关机
这个方法和上一个快捷键关机的方法有着异曲同工之妙,按下快捷键【Alt】+【Ctrl】+
【Delete】,打开任务管理器,右下方有个圆形关机按钮,点击即可关机。
3)设置关机时间
这个方法可以实现定时关机,算好想要关机的时间,设置完成后电脑到点就会自动关机。再也不用因为电脑关机更新而等个半天了。按下快捷键【win】+【R】,在运行对话框内输入《at 20:00 shutdown -s》后点击确定,系统就会在晚上8点准时关机。这个方法可以在大家确定能够关机时间的情况下使用还是非常方便的。
4)鼠标滑动关机
在电脑桌面位置创建一个快捷方式,在出现的对话框内输入“slidetoshutdown”后点下一步。
点击完成即可。
此时电脑桌面上就多了一个快捷方式,想要关机时双击该快捷方式,就会出现以下提示,滑动就可以关闭电脑了。
嘿嘿~虽然确实正常人开关机上面的更方便快速哈!但是源码打包成exe点开更方便啦~尤其是在电脑需要几个小时之后关机的,需要先让电脑自动完成任务再关机滴~呐这个还蛮方便的~也许,应该更方便.jpg 强行解释的我2333~这就是娱乐娱乐的代码哈哈哈哈~
1.1 附源码项目
# -*—coding:utf-8 -*- import sys import os # Python执行系统命令方法所用到的包 from PyQt5 import QtCore,QtGui,QtWidgets class Ui_shut(object): #类 继承object类 flag = True def setupUi(self,shut): #方法 #设置窗体的大小 shut.setObjectName("shut") shut.resize(420,180) shut.setFixedSize(420,180) self.label = QtWidgets.QLabel(shut) self.label.setGeometry(QtCore.QRect(40,50,41,51)) #标签的位置 self.label.setFont(QtGui.QFont("Roman times",10,QtGui.QFont.Bold)) self.label.setObjectName("label") self.lineEdit = QtWidgets.QLineEdit(shut) self.lineEdit.setGeometry(QtCore.QRect(70, 50, 71, 41)) self.lineEdit.setFont(QtGui.QFont("Roman times",10,QtGui.QFont.Bold)) self.lineEdit.setObjectName("lineEdit") self.label_2 = QtWidgets.QLabel(shut) self.label_2.setGeometry(QtCore.QRect(150, 60, 31, 31)) self.label_2.setFont(QtGui.QFont("Roman times",10,QtGui.QFont.Bold)) self.label_2.setObjectName("label_2") self.lineEdit_2 = QtWidgets.QLineEdit(shut) self.lineEdit_2.setGeometry(QtCore.QRect(180, 50, 71, 41)) self.lineEdit_2.setFont(QtGui.QFont("Roman times",10,QtGui.QFont.Bold)) self.lineEdit_2.setObjectName("lineEdit_2") self.label_3 = QtWidgets.QLabel(shut) self.label_3.setGeometry(QtCore.QRect(260, 60, 31, 31)) self.label_3.setFont(QtGui.QFont("Roman times",10,QtGui.QFont.Bold)) self.label_3.setObjectName("label_3") self.pushButton = QtWidgets.QPushButton(shut,clicked=self.sd) #为pushButton添加监听事件click。 self.pushButton.setGeometry(QtCore.QRect(290, 50, 101, 41)) self.pushButton.setFont(QtGui.QFont("Roman times",10,QtGui.QFont.Bold)) self.pushButton.setObjectName("pushButton") self.label_4 = QtWidgets.QLabel(shut) self.label_4.setGeometry(QtCore.QRect(0, 120, 500, 31)) self.label_4.setFont(QtGui.QFont("Roman times",10,QtGui.QFont.Bold)) self.label_4.setObjectName("label_4") self.retranslateUi(shut) QtCore.QMetaObject.connectSlotsByName(shut) #connectSlotsByName是一个QMetaObject类里的静态函数,其作用是用来将QObject * o里的子QObject的某些信号按照其objectName连接到o的槽上。 def retranslateUi(self,shut): _translate = QtCore.QCoreApplication.translate shut.setWindowTitle(_translate("shut", "Windows定时关机器")) self.label.setText(_translate("shut", "在:")) self.label_2.setText(_translate("shut", "时")) self.label_3.setText(_translate("shut", "分")) self.label_4.setText(_translate("shut", " 请输入关机时间")) self.pushButton.setText(_translate("shut", "设置")) def sd(self,shut): #self.sd为触发该事件后,需要执行的操作。 h = self.lineEdit.text() m = self.lineEdit_2.text() if self.flag: self.flag = False try: #捕获所有异常 os.popen('at'+ h + ':' + m + ' shutdown -s') #python执行cmd命令的方法 self.label_4.setText(' 设置成功! 系统将关机在今天 '+h+':'+m) self.pushButton.setText('移除') self.lineEdit.clear() self.lineEdit_2.clear() except: self.label_4.setText('Something is wrong~') else: self.flag = True try: os.popen('at /delete /yes') self.label_4.setText('成功,全部移除') self.pushButton.setText('Set') self.lineEdit.clear() self.lineEdit_2.clear() except: self.label_4.setText('Something is wrong')
1.2 效果展示
2.1 附源码项目
from tkinter import ttk import os import tkinter.messagebox as message_box windows = tkinter.Tk() windows.title("Python定时关机") # window 居中 windows.update() # update window ,must do curWidth = 280 # get current width curHeight = windows.winfo_reqheight() # get current height scnWidth, scnHeight = windows.maxsize() # get screen width and height # now generate configuration information config = '%dx%d+%d+%d' % (curWidth, curHeight, (scnWidth - curWidth) / 2, (scnHeight - curHeight) / 2) windows.geometry(config) # root 容器 root = ttk.LabelFrame(windows, text="关机命令") root.grid(column=0, row=0, padx=15, pady=15) # 提醒文本 tkinter.Label(root, text="输入时间").grid(column=0, row=0, sticky=tkinter.W) tkinter.Label(root, text="选择").grid(column=1, row=0) # 存储输入的值 time = tkinter.StringVar() unit = tkinter.StringVar() # 输入框 time_edit = tkinter.Entry(root, width=10, textvariable=time) time_edit.grid(column=0, row=1, padx=4, sticky=tkinter.W) time_edit.focus() # 下拉单位选择 unit_arr = ('时', '分', '秒') unit_chosen = ttk.Combobox(root, width=6, textvariable=unit, state='readonly') unit_chosen['values'] = unit_arr unit_chosen.grid(column=1, row=1) unit_chosen.current(0) def change_edit(to_time): time_edit.delete(0, 10) time_edit.insert(0, to_time) unit_chosen.current(1) # start def start(): if time.get() and unit.get(): message_box.showwarning("选择完毕", "你的电脑将在多少 %s %s" % (time.get(), unit.get())) # shutdown 的秒数 count_down_second = int(time.get()) if unit.get() == 'hour': count_down_second *= 3600 elif unit.get() == 'minute': count_down_second *= 60 # execute os.system("shutdown -s -t %s" % count_down_second) windows.quit() # cancel def cancel(): os.system("shutdown -a") windows.quit() # start 按钮 start_action = tkinter.Button(root, text="START", command=start) start_action.grid(column=2, row=1) # 文本 tip_label = tkinter.Label(root, text="倒计时关机") tip_label.grid(row=2, column=0, pady=2) # 快捷选择时间 fram = tkinter.Frame(root) fram.grid(row=3, column=0, columnspan=3) # 常用的时间 for i in range(2, 7): button = tkinter.Button(fram, text=str(i * 15) + "min", command=lambda x=i: change_edit(str(x * 15))) button.grid(row=0, column=i - 2, padx=2, pady=2, sticky=tkinter.W) # cancel 按钮 cancel_action = tkinter.Button(root, text="CANCEL", command=lambda: cancel()) cancel_action.grid(row=4, column=1, pady=10, sticky=tkinter.W)
2.2 效果展示
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
python在 Python 中字符串也可以使用三个单引号或三个双引号来表示字符串,这样字符串中的内容就可以多行书写,并且被多行输出。
最近处理一些规格不一的照片,需要修改成指定尺寸便于打印,下面这篇文章主要给大家介绍了关于python批处理将图片进行放大的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
这篇文章主要介绍了Python 循环读取数据内存不足的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
最近进行python基础培训,课下作业制作万年历,之前没做过,感觉里面还是有很多需要学的,下面这篇文章主要给大家介绍了关于python新手练习实例之万年历的相关资料,需要的朋友可以参考下
这篇文章主要介绍了Python如何利用opencv实现手势识别,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙可以参考一下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008