Python 使用 PyQt5 开发的关机小工具分享


Posted in Python onJuly 16, 2020

前两天简单认识了一下PyQt5,通过练习开发了一款在Window下自定义关机的小工具,

代码如下:

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))
    #创建一个日期时间文本框,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()
<br>
 #设置工具窗口中显示的部件文本信息
  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_())

以上这篇Python 使用 PyQt5 开发的关机小工具分享就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
用Python制作在地图上模拟瘟疫扩散的Gif图
Mar 31 Python
Python自动重试HTTP连接装饰器
Apr 28 Python
利用python程序帮大家清理windows垃圾
Jan 15 Python
NumPy.npy与pandas DataFrame的实例讲解
Jul 09 Python
Python地图绘制实操详解
Mar 04 Python
如何通过雪花算法用Python实现一个简单的发号器
Jul 03 Python
详解Python对JSON中的特殊类型进行Encoder
Jul 15 Python
python创建学生管理系统
Nov 22 Python
pytorch 实现查看网络中的参数
Jan 06 Python
python+selenium定时爬取丁香园的新型冠状病毒数据并制作出类似的地图(部署到云服务器)
Feb 09 Python
PyCharm取消波浪线、下划线和中划线的实现
Mar 03 Python
python中delattr删除对象方法的代码分析
Dec 15 Python
Python csv文件记录流程代码解析
Jul 16 #Python
Python 抓取数据存储到Redis中的操作
Jul 16 #Python
django filter过滤器实现显示某个类型指定字段不同值方式
Jul 16 #Python
解决python对齐错误的方法
Jul 16 #Python
Python爬虫实例——爬取美团美食数据
Jul 15 #Python
django Model层常用验证器及自定义验证器详解
Jul 15 #Python
浅谈Django前端后端值传递问题
Jul 15 #Python
You might like
php实现mysql数据库备份类
2008/03/20 PHP
基于ThinkPHP实现批量删除
2015/12/18 PHP
thinkPHP5.0框架API优化后的友好性分析
2017/03/17 PHP
mac系统下安装多个php并自由切换的方法详解
2017/04/21 PHP
PHP实现非阻塞模式的方法分析
2018/07/26 PHP
java script编程起步(第三课)
2007/01/10 Javascript
Jquery Select操作方法集合脚本之家特别版
2010/05/17 Javascript
jQuery编辑器KindEditor4.1.4代码高亮显示设置教程
2013/03/01 Javascript
Jquery仿淘宝京东多条件筛选可自行结合ajax加载示例
2013/08/28 Javascript
浅谈javascript中字符串String与数组Array
2014/12/31 Javascript
原生js实现类似弹窗抖动效果
2015/04/02 Javascript
bootstrap table实例详解
2017/01/06 Javascript
页面间固定参数,通过cookie传值的实现方法
2017/05/31 Javascript
详解Angular 自定义结构指令
2017/06/21 Javascript
浅谈react前后端同构渲染
2017/09/20 Javascript
微信小程序项目实践之验证码倒计时功能
2018/07/18 Javascript
vue+Element-ui实现分页效果实例代码详解
2018/12/10 Javascript
如何为vue的项目添加单元测试
2018/12/19 Javascript
Python2.7编程中SQLite3基本操作方法示例
2017/08/09 Python
Django实现快速分页的方法实例
2017/10/22 Python
Django 多环境配置详解
2019/05/14 Python
django中账号密码验证登陆功能的实现方法
2019/07/15 Python
Python搭建代理IP池实现接口设置与整体调度
2019/10/27 Python
Python+numpy实现矩阵的行列扩展方式
2019/11/29 Python
Python爬虫设置ip代理过程解析
2020/07/20 Python
CSS3基础(RGBa、text-shadow、box-shadow、border-radius)
2012/11/13 HTML / CSS
html5 touch事件实现触屏页面上下滑动(二)
2016/03/10 HTML / CSS
大学毕业生最详细的自我评价分享
2013/11/18 职场文书
承诺书怎么写
2014/03/26 职场文书
社会实践评语
2014/04/28 职场文书
大学生党员个人剖析材料
2014/10/08 职场文书
2014年乡镇妇联工作总结
2014/12/02 职场文书
学校端午节活动总结
2015/02/11 职场文书
安全员岗位职责范本
2015/04/11 职场文书
高三英语教学反思
2016/03/03 职场文书
分享MySQL常用 内核 Debug 几种常见方法
2022/03/17 MySQL