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函数装饰器用法实例详解
Jun 04 Python
Python IDLE 错误:IDLE''s subprocess didn''t make connection 的解决方案
Feb 13 Python
python实现数独游戏 java简单实现数独游戏
Mar 30 Python
python 实现对数据集的归一化的方法(0-1之间)
Jul 17 Python
破解安装Pycharm的方法
Oct 19 Python
Django使用AJAX调用自己写的API接口的方法
Mar 06 Python
python读取指定字节长度的文本方法
Aug 27 Python
python GUI库图形界面开发之PyQt5 MDI(多文档窗口)QMidArea详细使用方法与实例
Mar 05 Python
Python实现子类调用父类的初始化实例
Mar 12 Python
jupyter notebook 添加kernel permission denied的操作
Apr 21 Python
Python用access判断文件是否被占用的实例方法
Dec 17 Python
Python日志打印里logging.getLogger源码分析详解
Jan 17 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
DC《神奇女侠2》因疫情推迟上映 温子仁新恐怖片《恶性》撤档
2020/04/09 欧美动漫
php escape URL编码
2008/12/10 PHP
PHP初学者常见问题集合 修正版(21问答)
2010/03/23 PHP
PHP下对字符串的递增运算代码
2010/08/21 PHP
Yii基于CActiveForm的Ajax数据验证用法示例
2016/07/14 PHP
初识javascript 文档碎片
2010/07/13 Javascript
javascript动态控制服务器控件实例
2014/09/05 Javascript
nodejs开发环境配置与使用
2014/11/17 NodeJs
javascript+canvas制作九宫格小程序
2014/12/28 Javascript
BootStrap入门教程(二)之固定的内置样式
2016/09/19 Javascript
jQuery+ajax的资源回收处理机制分析
2017/01/07 Javascript
Jquery实现跨域异步上传文件总结
2017/02/03 Javascript
Vue.js 利用v-for中的index值实现隔行变色
2018/08/01 Javascript
关于微信小程序登录的那些事
2019/01/08 Javascript
基于Vue中使用节流Lodash throttle详解
2019/10/30 Javascript
Python生成随机数的方法
2014/01/14 Python
python的unittest测试类代码实例
2017/12/07 Python
Python元字符的用法实例解析
2018/01/17 Python
Python 获得命令行参数的方法(推荐)
2018/01/24 Python
详解python中的Turtle函数库
2018/11/19 Python
Python中*args和**kwargs的区别详解
2019/09/17 Python
python装饰器原理与用法深入详解
2019/12/19 Python
python with语句的原理与用法详解
2020/03/30 Python
css3针对移动端卡顿问题的解决(动画性能优化)
2020/02/14 HTML / CSS
2019年Java面试必问之经典试题
2012/09/12 面试题
小学生红领巾广播稿
2014/01/21 职场文书
《巨人的花园》教学反思
2014/02/12 职场文书
学校安全责任书
2014/04/14 职场文书
小学生演讲稿大全
2014/04/25 职场文书
做一个有道德的人演讲稿
2014/05/14 职场文书
入党推优材料
2014/06/02 职场文书
助学金感谢信
2015/01/20 职场文书
美术教师个人总结
2015/02/06 职场文书
创业计划书之游泳馆
2019/09/16 职场文书
zabbix agent2 监控oracle数据库的方法
2021/05/13 Oracle
Vue+TypeScript中处理computed方式
2022/04/02 Vue.js