基于Python实现一个自动关机程序并打包成exe文件
程序员文章站
2022-03-04 14:57:45
目录1、实现效果2、实现步骤3、全部代码 python代码打包exe文件在桌面运行的方式我之前有写,置顶了,也可以参考这里直接阅读:python打包exe方法1、实现效果2、实现步骤模块导入impor...
python代码打包exe文件在桌面运行的方式我之前有写,置顶了,也可以参考这里直接阅读:python打包exe方法
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实现一个自动关机程序并打包成exe文件的详细内容,更多关于python自动关机程序的资料请关注其它相关文章!
上一篇: 6月26日 简单的缓存例子