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中使用PyHook监听鼠标和键盘事件实例
Jul 18 Python
Python快速查找list中相同部分的方法
Jun 27 Python
win10下python3.5.2和tensorflow安装环境搭建教程
Sep 19 Python
pygame实现雷电游戏雏形开发
Nov 20 Python
windows下 兼容Python2和Python3的解决方法
Dec 05 Python
python爬虫之快速对js内容进行破解
Jul 09 Python
Django 静态文件配置过程详解
Jul 23 Python
python tornado使用流生成图片的例子
Nov 18 Python
python正则表达式匹配IP代码实例
Dec 28 Python
在Tensorflow中查看权重的实现
Jan 24 Python
更新升级python和pip版本后不生效的问题解决
Apr 17 Python
基于pycharm实现批量修改变量名
Jun 02 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 获取全局变量的代码
2011/04/21 PHP
javascript英文日期(有时间)选择器
2007/05/02 Javascript
Jquery+WebService 校验账号是否已被注册的代码
2010/07/12 Javascript
Dom 是什么的详细说明
2010/10/25 Javascript
js change,propertychange,input事件小议
2011/12/20 Javascript
js定时器的使用(实例讲解)
2014/01/06 Javascript
JavaScript之Object类型介绍
2015/04/01 Javascript
jQuery右侧选项卡焦点图片轮播特效代码分享
2015/09/05 Javascript
js实现有过渡渐变效果的图片轮播相册(兼容IE,ff)
2016/01/19 Javascript
javascript js 操作数组 增删改查的简单实现
2016/06/20 Javascript
AngularJS入门教程之双向绑定详解
2016/08/18 Javascript
详解Angular2响应式表单
2017/06/14 Javascript
关于JavaScript的单双引号嵌套问题
2017/08/20 Javascript
Django中使用jquery的ajax进行数据交互的实例代码
2017/10/15 jQuery
axios全局注册,设置token,以及全局设置url请求网段的方法
2018/09/25 Javascript
微信小程序实现顶部下拉菜单栏
2018/11/04 Javascript
详解vue2.0 资源文件assets和static的区别
2018/11/27 Javascript
Three.js实现简单3D房间布局
2018/12/30 Javascript
node全局变量__dirname与__filename的区别
2019/01/14 Javascript
CKEditor 4.4.1 添加代码高亮显示插件功能教程【使用官方推荐Code Snippet插件】
2019/06/14 Javascript
详解关闭令人抓狂的ESlint 语法检测配置方法
2019/10/28 Javascript
原生JavaScript之es6中Class的用法分析
2020/02/23 Javascript
微信小程序实现底部弹出模态框
2020/11/18 Javascript
python中的对象拷贝示例 python引用传递
2014/01/23 Python
Python sklearn KFold 生成交叉验证数据集的方法
2018/12/11 Python
python tkinter之顶层菜单、弹出菜单实例
2020/03/04 Python
html5 application cache遇到的严重问题
2012/12/26 HTML / CSS
英国评分最高的女性剃须刀订阅盒:FFS Beauty
2018/01/25 全球购物
法国二手手袋、手表和奢侈珠宝购物网站:Collector Square
2018/07/05 全球购物
AJAX检测用户名是否存在的方法
2021/03/24 Javascript
干部现实表现材料
2014/02/13 职场文书
自主招生教师推荐信
2014/05/10 职场文书
查摆剖析材料范文
2014/09/30 职场文书
汽车机电维修工求职信
2014/09/30 职场文书
2014旅游局党组书记党建工作汇报材料
2014/11/02 职场文书
Python闭包的定义和使用方法
2022/04/11 Python