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字符串连接方式汇总
Aug 21 Python
Python中list初始化方法示例
Sep 18 Python
python字符串过滤性能比较5种方法
Jun 22 Python
python+selenium实现QQ邮箱自动发送功能
Jan 23 Python
​如何愉快地迁移到 Python 3
Apr 28 Python
利用Python库Scapy解析pcap文件的方法
Jul 23 Python
Python计算两个矩形重合面积代码实例
Sep 16 Python
Python批量启动多线程代码实例
Feb 18 Python
python GUI库图形界面开发之PyQt5线程类QThread详细使用方法
Feb 26 Python
Python tcp传输代码实例解析
Mar 18 Python
如何基于Python和Flask编写Prometheus监控
Nov 25 Python
python如何在word中存储本地图片
Apr 07 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
web方式ftp
2006/10/09 PHP
关于js与php互相传值的介绍
2013/06/25 PHP
Smarty foreach控制循环次数的一些方法
2015/07/01 PHP
php计算title标题相似比的方法
2015/07/29 PHP
tp5修改(实现即点即改)
2019/10/18 PHP
Javascript的闭包
2009/12/31 Javascript
javascript多种数据类型表格排序代码分析
2010/09/11 Javascript
JavaScript实现复制功能各浏览器支持情况实测
2013/07/18 Javascript
Js使用WScript.Shell对象执行.bat文件和cmd命令
2014/12/18 Javascript
简单实现异步编程promise模式
2015/07/31 Javascript
jQuery 实现ajax传入参数含有特殊字符的方法总结
2016/10/17 Javascript
如何处理JSON中的特殊字符
2016/11/30 Javascript
在 Typescript 中使用可被复用的 Vue Mixin功能
2018/04/17 Javascript
react 移动端实现列表左滑删除的示例代码
2019/07/04 Javascript
解决vue admin element noCache设置无效的问题
2019/11/12 Javascript
详解JavaScript中分解数字的三种方法
2021/01/05 Javascript
python操作摄像头截图实现远程监控的例子
2014/03/25 Python
pytorch中的embedding词向量的使用方法
2019/08/18 Python
详解Matplotlib绘图之属性设置
2019/08/23 Python
Python如何基于rsa模块实现非对称加密与解密
2020/01/03 Python
基于opencv的selenium滑动验证码的实现
2020/07/24 Python
Appium+Python实现简单的自动化登录测试的实现
2021/01/26 Python
最好的意大利皮夹克:D’Arienzo
2018/12/04 全球购物
Shopee越南:东南亚与台湾电商平台
2019/02/03 全球购物
C&A巴西网上商店:时尚、衣服、手机和鞋子
2020/06/07 全球购物
JDO的含义
2012/11/17 面试题
保险专业自荐信范文
2014/02/20 职场文书
办公室主任职责范本
2014/03/07 职场文书
优乐美广告词
2014/03/14 职场文书
个人先进材料范文
2014/12/30 职场文书
乡镇法制宣传日活动总结
2015/05/05 职场文书
2019请假条的基本格式及范文!
2019/07/05 职场文书
创业计划书之餐饮
2019/09/02 职场文书
SQL Server中交叉联接的用法详解
2021/04/22 SQL Server
Python自动化之批量处理工作簿和工作表
2021/06/03 Python
用Python实现屏幕截图详解
2022/01/22 Python