文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

怎么用Python编写一个自动关机程序

2023-06-26 03:42

关注

本篇内容介绍了“怎么用Python编写一个自动关机程序”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1、实现效果

怎么用Python编写一个自动关机程序

2、实现步骤

模块导入

import os,sys,timefrom 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,timefrom 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-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编写一个自动关机程序”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯