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 urllib模块urlopen()与urlretrieve()详解
Nov 01 Python
Django自定义插件实现网站登录验证码功能
Apr 19 Python
python获取代理IP的实例分享
May 07 Python
Python实现全排列的打印
Aug 18 Python
将Django项目部署到CentOs服务器中
Oct 18 Python
python给微信好友定时推送消息的示例
Feb 20 Python
Python学习笔记之列表和成员运算符及列表相关方法详解
Aug 22 Python
Python 3.8正式发布,来尝鲜这些新特性吧
Oct 15 Python
python enumerate内置函数用法总结
Jan 07 Python
Python django框架开发发布会签到系统(web开发)
Feb 12 Python
如何基于Python爬虫爬取美团酒店信息
Nov 03 Python
pycharm2021激活码使用教程(永久激活亲测可用)
Mar 30 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页面缓存ob系列函数介绍
2012/10/18 PHP
PHP图片等比缩放类SimpleImage使用方法和使用实例分享
2014/04/10 PHP
php 伪静态之IIS篇
2014/06/02 PHP
为百度UE编辑器上传图片添加水印功能
2015/04/16 PHP
php微信公众号js-sdk开发应用
2016/11/28 PHP
Laravel如何友好的修改.env配置文件详解
2017/06/07 PHP
关于laravel 子查询 &amp; join的使用
2019/10/16 PHP
select 控制网页内容隐藏于显示的实现代码
2010/05/25 Javascript
JavaScript初学者应注意的七个细节详细介绍
2012/12/27 Javascript
DWZ table的原生分页浅谈
2013/03/01 Javascript
JavaScript检测字符串中是否含有html标签实现方法
2015/07/01 Javascript
javascript中不易分清的slice,splice和split三个函数
2016/03/29 Javascript
jQuery Ajax File Upload实例源码
2016/12/12 Javascript
微信小程序实现图片放大预览功能
2020/10/22 Javascript
解决vue项目打包后提示图片文件路径错误的问题
2018/07/04 Javascript
jsonp实现百度下拉框功能的方法分析
2019/05/10 Javascript
JS sort方法基于数组对象属性值排序
2020/07/10 Javascript
Python脚本判断 Linux 是否运行在虚拟机上
2015/04/25 Python
Python中文字符串截取问题
2015/06/15 Python
Python 3.6 性能测试框架Locust安装及使用方法(详解)
2017/10/11 Python
Python 通过调用接口获取公交信息的实例
2018/12/17 Python
flask 实现token机制的示例代码
2019/11/07 Python
python实现飞机大战项目
2020/03/11 Python
CSS3 clip-path 用法介绍详解
2018/03/01 HTML / CSS
新加坡网上化妆品店:Best Buy World
2018/05/18 全球购物
Athleta官网:购买女士瑜伽服、技术运动服和休闲运动服
2020/11/12 全球购物
New delete 与malloc free 的联系与区别
2013/02/04 面试题
总经理职责
2013/12/22 职场文书
竞选村长演讲稿
2014/04/28 职场文书
学雷锋树新风演讲稿
2014/05/10 职场文书
贸易经济专业自荐书
2014/06/29 职场文书
运动会广播稿诗歌版
2014/09/12 职场文书
无锡灵山大佛导游词
2015/02/09 职场文书
农业项目合作意向书
2015/05/08 职场文书
关于感恩的作文
2019/08/26 职场文书
MySQL令人咋舌的隐式转换
2021/04/05 MySQL