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中unittest用法实例
Sep 25 Python
跟老齐学Python之print详解
Sep 28 Python
使用Python实现下载网易云音乐的高清MV
Mar 16 Python
举例详解Python中的split()函数的使用方法
Apr 07 Python
python嵌套字典比较值与取值的实现示例
Nov 03 Python
tornado 多进程模式解析
Jan 15 Python
Python使用flask框架操作sqlite3的两种方式
Jan 31 Python
Tensorflow之构建自己的图片数据集TFrecords的方法
Feb 07 Python
​如何愉快地迁移到 Python 3
Apr 28 Python
Python netmiko模块的使用
Feb 14 Python
python pymysql链接数据库查询结果转为Dataframe实例
Jun 05 Python
Python通过递归函数输出嵌套列表元素
Oct 15 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加入ftp扩展的解决方法
2013/02/07 PHP
Laravel 5 框架入门(二)构建 Pages 的管理功能
2015/04/09 PHP
PHP实现仿百度文库,豆丁在线文档效果(word,excel,ppt转flash)
2016/03/10 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
JavaScript 无符号右移赋值操作
2009/04/17 Javascript
兼容多浏览器的iframe自适应高度(ie8 、谷歌浏览器4.0和 firefox3.5.3)
2009/11/04 Javascript
妙用Jquery的val()方法
2012/06/27 Javascript
jQuery选择器简明总结(含用法实例,一目了然)
2014/04/25 Javascript
JS继承用法实例分析
2015/02/05 Javascript
javascript制作网页图片上实现下雨效果
2015/02/26 Javascript
对比分析AngularJS中的$http.post与jQuery.post的区别
2015/02/27 Javascript
浅析BootStrap模态框的使用(经典)
2016/04/29 Javascript
JavaScript mixin实现多继承的方法详解
2017/03/30 Javascript
vue-cli配置flexible过程详解
2019/07/04 Javascript
vue-router为激活的路由设置样式操作
2020/07/18 Javascript
跟老齐学Python之坑爹的字符编码
2014/09/28 Python
利用python获取某年中每个月的第一天和最后一天
2016/12/15 Python
Python书单 不将就
2017/07/11 Python
基于Python实现用户管理系统
2019/02/26 Python
Python2.7版os.path.isdir中文路径返回false的解决方法
2019/06/21 Python
Python中一个for循环循环多个变量的示例
2019/07/16 Python
Django视图扩展类知识点详解
2019/10/25 Python
Python 将json序列化后的字符串转换成字典(推荐)
2020/01/06 Python
PyTorch中 tensor.detach() 和 tensor.data 的区别详解
2020/01/06 Python
django实现将后台model对象转换成json对象并传递给前端jquery
2020/03/16 Python
Python用dilb提取照片上人脸的示例
2020/10/26 Python
CSS3文本换行word-wrap解决英文文本超过固定宽度不换行
2013/10/10 HTML / CSS
阿联酋航空官方网站:Emirates
2017/10/17 全球购物
世界上最大的铁人三项商店:Tri UK
2020/11/04 全球购物
童装店创业计划书
2014/01/09 职场文书
数学系毕业生求职信
2014/05/29 职场文书
物流管理系毕业生求职信
2014/06/03 职场文书
小学2016年“我们的节日·重阳节”活动总结
2016/04/01 职场文书
原生JavaScript实现简单五子棋游戏
2021/06/28 Javascript
CSS中实现动画效果-附案例
2022/02/28 HTML / CSS
vue3引入highlight.js进行代码高亮的方法实例
2022/04/08 Vue.js