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 相关文章推荐
利用numpy+matplotlib绘图的基本操作教程
May 03 Python
使用Python实现从各个子文件夹中复制指定文件的方法
Oct 25 Python
python后端接收前端回传的文件方法
Jan 02 Python
python装饰器简介---这一篇也许就够了(推荐)
Apr 01 Python
python实现简单五子棋游戏
Jun 18 Python
python打包exe开机自动启动的实例(windows)
Jun 28 Python
windows安装TensorFlow和Keras遇到的问题及其解决方法
Jul 10 Python
简单了解python列表和元组的区别
May 14 Python
Python StringIO及BytesIO包使用方法解析
Jun 15 Python
使用Python pip怎么升级pip
Aug 11 Python
详解解决jupyter不能使用pytorch的问题
Feb 18 Python
Python代码实现双链表
May 25 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 开发的 8 个技巧
2007/01/02 PHP
基于MySQL分区性能的详细介绍
2013/05/02 PHP
ThinkPHP3.1新特性之命名范围的使用
2014/06/19 PHP
关于扩展 Laravel 默认 Session 中间件导致的 Session 写入失效问题分析
2016/01/08 PHP
Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
2017/10/11 PHP
使用PHPExcel导出Excel表
2018/09/08 PHP
学习YUI.Ext 第六天--关于树TreePanel(Part 2异步获取节点)
2007/03/10 Javascript
JS通过相同的name进行表格求和代码
2013/08/18 Javascript
JavaScript实现找出字符串中第一个不重复的字符
2014/09/03 Javascript
基于NodeJS+MongoDB+AngularJS+Bootstrap开发书店案例分析
2017/01/12 NodeJs
element-ui循环显示radio控件信息的方法
2018/08/24 Javascript
Node.js 在本地生成日志文件的方法
2020/02/07 Javascript
vue.js实现h5机器人聊天(测试版)
2020/07/16 Javascript
解决vue中的无限循环问题
2020/07/27 Javascript
vue实现登录功能
2020/12/31 Vue.js
[02:06]DOTA2英雄基础教程 暗影萨满
2013/12/16 DOTA
详解Python操作RabbitMQ服务器消息队列的远程结果返回
2016/06/30 Python
Python中修改字符串的四种方法
2018/11/02 Python
python 2.7 检测一个网页是否能正常访问的方法
2018/12/26 Python
Python 面向对象之类class和对象基本用法示例
2020/02/02 Python
解决pycharm同一目录下无法import其他文件
2020/02/12 Python
python实现一个猜拳游戏
2020/04/05 Python
Pytorch转tflite方式
2020/05/25 Python
使用Python FastAPI构建Web服务的实现
2020/06/08 Python
用HTML5中的Canvas结合公式绘制粒子运动的教程
2015/05/08 HTML / CSS
Html5 滚动穿透的方法
2019/05/13 HTML / CSS
新秀丽官方旗舰店:Samsonite拉杆箱、双肩包、皮具
2018/03/05 全球购物
FOREO斐珞尔官方旗舰店:LUNA露娜洁面仪
2018/03/11 全球购物
写好自荐信需做到的5要点
2014/03/07 职场文书
战略合作意向书范本
2014/04/01 职场文书
初三班主任寄语大全
2014/04/04 职场文书
安全月活动总结
2014/05/05 职场文书
小学一年级数学教学计划
2015/01/20 职场文书
2016八一建军节慰问信
2015/11/30 职场文书
Python 键盘事件详解
2021/11/11 Python
opencv深入浅出了解机器学习和深度学习
2022/03/17 Python