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采集腾讯新闻实例
Jul 10 Python
Python可跨平台实现获取按键的方法
Mar 05 Python
Python编程实现从字典中提取子集的方法分析
Feb 09 Python
python 函数内部修改外部变量的方法
Dec 18 Python
python获取交互式ssh shell的方法
Feb 14 Python
python适合人工智能的理由和优势
Jun 28 Python
python快速排序的实现及运行时间比较
Nov 22 Python
用python的turtle模块实现给女票画个小心心
Nov 23 Python
在tensorflow中设置保存checkpoint的最大数量实例
Jan 21 Python
Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例
Mar 18 Python
python基础之模块的导入
Oct 24 Python
Qt自定义Plot实现曲线绘制的详细过程
Nov 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 n个不重复的随机数生成代码
2009/06/23 PHP
PHP计划任务之关闭浏览器后仍然继续执行的函数
2010/07/22 PHP
让Json更懂中文(JSON_UNESCAPED_UNICODE)
2011/10/27 PHP
php中jQuery插件autocomplate的简单使用笔记
2012/06/14 PHP
yii添删改查实例
2015/11/16 PHP
thinkphp利用模型通用数据编辑添加和删除的实例代码
2016/11/20 PHP
php中序列化与反序列化详解
2017/02/13 PHP
php基于数组函数实现关联表的编辑操作示例
2017/07/04 PHP
php的lavarel框架中join和orWhere的用法
2020/12/28 PHP
JavaScript编程的单例设计模讲解
2015/11/10 Javascript
node模块机制与异步处理详解
2016/03/13 Javascript
分离与继承的思想实现图片上传后的预览功能:ImageUploadView
2016/04/07 Javascript
bootstrap table小案例
2016/10/21 Javascript
js实现图片360度旋转
2017/01/22 Javascript
canvas实现图像截取功能
2017/02/06 Javascript
vue2 全局变量的设置方法
2018/03/09 Javascript
去掉vue 中的代码规范检测两种方法(Eslint验证)
2018/03/21 Javascript
Vue基本使用之对象提供的属性功能
2019/04/30 Javascript
微信小程序学习总结(五)常见问题实例小结
2020/06/04 Javascript
[原创]教女朋友学Python(一)运行环境搭建
2017/11/29 Python
使用matplotlib中scatter方法画散点图
2019/03/19 Python
Django错误:TypeError at / 'bool' object is not callable解决
2019/08/16 Python
将python2.7添加进64位系统的注册表方式
2019/11/20 Python
pytorch程序异常后删除占用的显存操作
2020/01/13 Python
使用Keras预训练好的模型进行目标类别预测详解
2020/06/27 Python
CSS3 分类菜单效果
2019/05/27 HTML / CSS
在加拿大在线租赁和购买电子游戏:Game Access
2019/09/02 全球购物
DataList 能否分页,请问如何实现?
2015/05/03 面试题
大学活动邀请函
2014/01/28 职场文书
《孔子游春》教学反思
2014/02/25 职场文书
社区学习雷锋活动总结
2014/04/25 职场文书
小学校本培训方案
2014/06/06 职场文书
岗位安全生产责任书
2014/07/28 职场文书
学校领导班子对照检查材料
2014/09/24 职场文书
党员转正党支部意见
2015/06/02 职场文书
丧事主持词
2015/07/02 职场文书