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调用Moxa PCOMM Lite通过串口Ymodem协议实现发送文件
Aug 15 Python
Python中的闭包实例详解
Aug 29 Python
Python中的fileinput模块的简单实用示例
Jul 09 Python
Python随机生成带特殊字符的密码
Mar 02 Python
Python中random模块生成随机数详解
Mar 10 Python
Python实现返回数组中第i小元素的方法示例
Dec 04 Python
python 集合 并集、交集 Series list set 转换的实例
May 29 Python
Python requests库用法实例详解
Aug 14 Python
详解python3 + Scrapy爬虫学习之创建项目
Apr 12 Python
Python两台电脑实现TCP通信的方法示例
May 06 Python
python实现ip地址查询经纬度定位详解
Aug 30 Python
python属于软件吗
Jun 18 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获取某个目录大小的代码
2008/09/10 PHP
PHP MVC模式在网站架构中的实现分析
2010/03/04 PHP
PHP操作MongoDB GridFS 存储文件的详解
2013/06/20 PHP
Cygwin中安装PHP方法步骤
2015/07/04 PHP
两款万能的php分页类
2015/11/12 PHP
laravel-admin 管理平台获取当前登陆用户信息的例子
2019/10/08 PHP
关于Laravel参数验证的一些疑与惑
2019/11/19 PHP
jQuery 处理网页内容的实现代码
2010/02/15 Javascript
用JavaScript实现类似于ListBox功能示例代码
2014/03/09 Javascript
JavaScript闭包详解
2015/02/02 Javascript
JS+CSS实现简单的二级下拉导航菜单效果
2015/09/21 Javascript
AngularJS基础 ng-keypress 指令简单示例
2016/08/02 Javascript
Bootstrap CSS布局之按钮
2016/12/17 Javascript
AngularJS自定义指令之复制指令实现方法
2017/05/18 Javascript
分享ES6的7个实用技巧
2018/01/18 Javascript
angular 实现同步验证器跨字段验证的方法
2019/04/11 Javascript
js函数和this用法实例分析
2020/03/13 Javascript
Python实现从url中提取域名的几种方法
2014/09/26 Python
解析Mac OS下部署Pyhton的Django框架项目的过程
2016/05/03 Python
python验证码识别的实例详解
2016/09/09 Python
200行自定义python异步非阻塞Web框架
2017/03/15 Python
Python3之简单搭建自带服务器的实例讲解
2018/06/04 Python
python创建属于自己的单词词库 便于背单词
2019/07/30 Python
python内打印变量之%和f的实例
2020/02/19 Python
python学习将数据写入文件并保存方法
2020/06/07 Python
python实现银行账户系统
2021/02/22 Python
公司营业员的工作总结自我评价
2013/10/05 职场文书
给分销商的致歉信
2014/01/14 职场文书
初一军训感言
2015/08/01 职场文书
写给同事的离职感言
2015/08/04 职场文书
房产销售员2015年终工作总结
2015/10/22 职场文书
公司要求试用期员工提交“述职报告”,该怎么写?
2019/07/17 职场文书
OpenCV-Python实现怀旧滤镜与连环画滤镜
2021/06/09 Python
Python学习之包与模块详解
2022/03/19 Python
鸿蒙3.0体验感怎么样? 鸿蒙3.0系统评测向
2022/08/14 数码科技
win10电脑关机快捷键是哪个 win10快速关机的几种方法
2022/08/14 数码科技