基于Python编写一个自动关机程序
程序员文章站
2022-06-24 08:46:27
目录1、实现效果2、实现步骤3、全部代码1、实现效果2、实现步骤模块导入import os,sys,timefrom pyqt5 import qtcore,qtwidgets,qtgui窗口设置de...
1、实现效果
2、实现步骤
模块导入
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关机工具')
创建一个文本标签
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、全部代码
import os,sys,time from pyqt5 import qtcore,qtwidgets,qtgui class 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-nq if 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_())
以上就是基于python编写一个自动关机程序的详细内容,更多关于python自动关机程序的资料请关注其它相关文章!
推荐阅读
-
python编写暴力破解zip文档程序的实例讲解
-
scratch怎么编写一个判断加法运算是否正确的程序?
-
仅用50行代码实现一个Python编写的计算器的教程
-
基于python实现聊天室程序
-
用 C# 编写一个停放在任务栏上的图标程序
-
用Python编写一个国际象棋AI程序
-
一个计算身份证号码校验位的Python小程序
-
vs2015怎么编写第一个windows程序?
-
java基础------环境变量的配置及编写第一个程序
-
JAVA WEB快速入门之从编写一个基于SpringBoot+Mybatis快速创建的REST API项目了解SpringBoot、SpringMVC REST API、Mybatis等相关知识