当前位置: 首页 > 科技观察

用Python写一个自动关机程序,打包成一个exe可执行程序

时间:2023-03-21 22:37:32 科技观察

1.实现效果2.实现模块的步骤:#设置窗口位置和大小page.setGeometry(400,400,400,200)#设置窗口标题page.setWindowTitle('Windowsshutdown')#设置窗口图标#page.setWindowIcon(QtGui.QIcon('#ddffgg'))#设置工具中提示的字体样式QtWidgets.QToolTip.setFont(QtGui.QFont('SansSerif',10))#创建提示page.setToolTip('ThisistheWindowshutdowntool')创建文字标签self.label=QtWidgets.QLabel(page)self.label.setGeometry(QtCore.QRect(60,20,120,45))self.label.setFont(QtGui.QFont("Romantimes",10,QtGui.QFont.Bold))创建文本标签和时间范围self.label2=QtWidgets.QLabel(page)self.label2.setGeometry(QtCore.QRect(100,55,40,51))设置文件的字体样式和大小。self.label2.setFont(QtGui.QFont("Romantimes",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-ddHH: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-ddhh: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('Thisisthecleartaskbutton')显示默认大小self.btn1.move(210,110)set文字提示框self.text=QtWidgets.QLabel(page)self.text.setGeometry(QtCore.QRect(25,150,350,25))self.text.setFont(QtGui.QFont("Romantimes",14,QtGui.QFont.Bold))self.setUI(page)page.show()设置工具窗口显示的组件文本信息defsetUI(self,page):_translate=QtCore.QCoreApplication.translateself.label.setText(_translate("page","请输入关闭时间"))self.label2.setText(_translate("page","日期:"))self.btn.setText(_translate("page","提交"))self.btn1.setText(_translate("page","clear"))self.text.setText(_translate("page","请设置关机时间!"))添加关机计划defshut(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()ifd>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("日期设置错误!")清除关机计划defcleart(self,page):try:os.system('shutdown-a')self.text.setText("关机任务已清除!")except:self.text.setText("Cleartaskfailed!")if__name__=='__main__':创建应用程序和对象app=QtWidgets.QApplication(sys.argv)page=QtWidgets.QWidget()ui=guanji()ui.pageShow(page)sys。exit(app.exec_())3.所有代码importos,sys,timefromPyQt5importQtCore,QtWidgets,QtGuiclassguanji(object):defpageShow(self,page):#设置窗口的位置和大小page.setGeometry(400,400,400,200)#设置窗口标题page.setWindowTitle('Windowsshutdown')#设置窗口的图标#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("Romantimes",10,QtGui.QFont.Bold))self.label2=QtWidgets.QLabel(page)self.label2.setGeometry(QtCore.QRect(100,55,40,51))self.label2.setFont(QtGui.QFont("Romantimes",10,QtGui.QFont.Bold))self.time=QtWidgets.QDateTimeEdit(page)self.time.setGeometry(QtCore.QRect(140,70,180,25))self.time.setDisplayFormat("yyyy-MM-ddHH: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-ddhh: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("Romantimes",14,QtGui.QFont.Bold))self.setUI(page)page.show()defsetUI(self,page):_translate=QtCore.QCoreApplication.translateself.label.setText(_translate("page","请输入关机时间"))self.label2.setText(_translate("page","date:"))self.btn.setText(_translate("page","submit"))self.btn1.setText(_translate("page","clear"))self.text.setText(_translate("page","请设置关机时间!"))defshut(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-nqifd>0:try:os.system('shutdown-s-t%d'%d)self.text.setText("电脑willShutdownat%s!"%datetime)except:self.text.setText("Settingfailed!")else:self.text.setText("Datesettingerror!")defcleart(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_())