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 07 Python
简单使用Python自动生成文章
Dec 25 Python
Python中datetime常用时间处理方法
Jun 15 Python
python时间日期函数与利用pandas进行时间序列处理详解
Mar 13 Python
在python win系统下 打开TXT文件的实例
Apr 29 Python
[原创]Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】
Oct 29 Python
python 计算平均平方误差(MSE)的实例
Jun 29 Python
Python 列表的清空方式
Jan 13 Python
在tensorflow中实现屏蔽输出的log信息
Feb 04 Python
python 实现压缩和解压缩的示例
Sep 22 Python
selenium框架中driver.close()和driver.quit()关闭浏览器
Dec 08 Python
用Python将库打包发布到pypi
Apr 13 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 getimagesize 上传图片的长度和宽度检测代码
2010/05/15 PHP
php实现源代码加密的方法
2015/07/11 PHP
纯PHP代码实现支付宝批量付款
2015/12/24 PHP
PHP获取当前执行php文件名的代码
2017/03/02 PHP
javascript 实用的文字链提示框效果
2010/06/30 Javascript
js对象的比较
2011/02/26 Javascript
javascript实现TreeView 无刷新展开的实例代码
2013/07/13 Javascript
Jquery响应回车键直接提交表单操作代码
2014/07/25 Javascript
jquery 实现输入邮箱时自动补全下拉提示功能
2015/10/04 Javascript
js判断移动端是否安装某款app的多种方法
2015/12/18 Javascript
JavaScript的ExtJS框架中数面板TreePanel的使用实例解析
2016/05/21 Javascript
浅谈js中调用函数时加不加括号的问题
2016/07/28 Javascript
JSON 数据详解及实例代码分析
2017/01/20 Javascript
Vue.js实现在下拉列表区域外点击即可关闭下拉列表的功能(自定义下拉列表)
2017/05/30 Javascript
浅谈react+es6+webpack的基础配置
2017/08/09 Javascript
VUE页面中加载外部HTML的示例代码
2017/09/20 Javascript
微信小程序如何实现radio单选框单击打勾和取消
2020/01/21 Javascript
JS+CSS+HTML实现“代码雨”类似黑客帝国文字下落效果
2020/03/17 Javascript
vue同个按钮控制展开和折叠同个事件操作
2020/07/29 Javascript
详解python 拆包可迭代数据如tuple, list
2017/12/29 Python
python使用Tkinter实现在线音乐播放器
2018/01/30 Python
python实现微信发送邮件关闭电脑功能
2018/02/22 Python
python 计算一个字符串中所有数字的和实例
2019/06/11 Python
tensorflow ckpt模型和pb模型获取节点名称,及ckpt转pb模型实例
2020/01/21 Python
Tensorflow训练MNIST手写数字识别模型
2020/02/13 Python
使用SimpleITK读取和保存NIfTI/DICOM文件实例
2020/07/01 Python
Python本地及虚拟解释器配置过程解析
2020/10/13 Python
HTML5中5个简单实用的API
2014/04/28 HTML / CSS
计算机应届毕业生自荐信范文
2014/02/23 职场文书
人力管理专业毕业生求职信
2014/02/27 职场文书
负责人任命书范本
2014/06/04 职场文书
室内趣味活动方案
2014/08/24 职场文书
读群众路线的心得体会
2014/09/03 职场文书
介绍信范文
2015/01/31 职场文书
java如何实现socket连接方法封装
2021/09/25 Java/Android
redis数据结构之压缩列表
2022/03/21 Redis