Python 使用 PyQt5 開發(fā)的關(guān)機(jī)小工具分享
更新時間:2020年07月16日 09:18:15 作者:木楉。
這篇文章主要介紹了Python 使用 PyQt5 開發(fā)的關(guān)機(jī)小工具分享,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
前兩天簡單認(rèn)識了一下PyQt5,通過練習(xí)開發(fā)了一款在Window下自定義關(guān)機(jī)的小工具,
代碼如下:
import os,sys,time
from PyQt5 import QtCore,QtWidgets,QtGui
class guanji(object):
def pageShow(self,page):
#設(shè)置窗口的位置和大小
page.setGeometry(400,400,400,200)
#設(shè)置窗口的標(biāo)題
page.setWindowTitle('Window shutdown')
#設(shè)置窗口的圖標(biāo)
#page.setWindowIcon(QtGui.QIcon('#ddffgg'))
#設(shè)置工具中提示的字體樣式
QtWidgets.QToolTip.setFont(QtGui.QFont('SansSerif',10))
#創(chuàng)建一個提示
page.setToolTip('這是Window關(guān)機(jī)工具')
#創(chuàng)建一個文本標(biāo)簽
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))
#創(chuàng)建一個文本標(biāo)簽和時間欄框
self.label2 = QtWidgets.QLabel(page)
self.label2.setGeometry(QtCore.QRect(100, 55, 40, 51))
#設(shè)置該文件的字體樣式,大小
self.label2.setFont(QtGui.QFont("Roman times",10,QtGui.QFont.Bold))
#創(chuàng)建一個日期時間文本框,QDateEdit表示添加日期文本框,QTimeEdit表示添加時間文本框
self.time = QtWidgets.QDateTimeEdit(page)
#設(shè)置日期時間框的位置大小依次是左間距,上間距,寬,高
self.time.setGeometry(QtCore.QRect(140, 70, 180, 25))
self.time.setDisplayFormat("yyyy-MM-dd HH:mm:ss")
#設(shè)置日期可以使用日歷插件
self.time.setCalendarPopup(True)
#根據(jù)PyQt方法獲取系統(tǒng)的當(dāng)前時間
#now = QtCore.QDateTime.currentDateTime()
#now_time = now.toString(QtCore.Qt.ISODate)
#將當(dāng)前系統(tǒng)時間賦值給時間框中
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'))
#創(chuàng)建一個按鈕并設(shè)置添加單擊事件
self.btn = QtWidgets.QPushButton(page,clicked=self.shut)
#self.btn.clicked.connect(self.shut(page))
self.btn.setToolTip('這里是提交按鈕')
#顯示默認(rèn)尺寸
#self.btn.resize(btn.sizeHint())
self.btn.move(110,110)
#創(chuàng)建一個按鈕并設(shè)置清除關(guān)機(jī)任務(wù)單擊事件
self.btn1 = QtWidgets.QPushButton(page,clicked=self.cleart)
#self.btn.clicked.connect(self.shut())
self.btn1.setToolTip('這里是清除任務(wù)按鈕')
#顯示默認(rèn)尺寸
self.btn1.move(210,110)
#設(shè)置一個文本提示框
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> #設(shè)置工具窗口中顯示的部件文本信息
def setUI(self,page):
_translate = QtCore.QCoreApplication.translate
self.label.setText(_translate("page","請輸入關(guān)機(jī)時間"))
self.label2.setText(_translate("page","日期:"))
self.btn.setText(_translate("page","提交"))
self.btn1.setText(_translate("page","清除"))
self.text.setText(_translate("page","請設(shè)置關(guān)機(jī)時間!"))
#添加關(guān)機(jī)計劃
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關(guān)機(jī)!" % datetime)
#self.time.setDateTime('1')
except:
self.text.setText("設(shè)置失??!")
else:
self.text.setText("日期設(shè)置錯誤!")
#清除關(guān)機(jī)計劃
def cleart(self,page):
try:
os.system('shutdown -a')
self.text.setText("已經(jīng)清除關(guān)機(jī)任務(wù)!")
except:
self.text.setText("清除任務(wù)失?。?)
if __name__=='__main__':
#創(chuàng)建應(yīng)用程序和對象
app = QtWidgets.QApplication(sys.argv)
page = QtWidgets.QWidget()
ui = guanji()
ui.pageShow(page)
sys.exit(app.exec_())
以上這篇Python 使用 PyQt5 開發(fā)的關(guān)機(jī)小工具分享就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- python GUI庫圖形界面開發(fā)之PyQt5窗口控件QWidget詳細(xì)使用方法
- python GUI庫圖形界面開發(fā)之PyQt5中QMainWindow, QWidget以及QDialog的區(qū)別和選擇
- Python PyQt5-圖形界面的美化操作
- python中pyqtgraph知識點(diǎn)總結(jié)
- 詳解Python GUI編程之PyQt5入門到實戰(zhàn)
- 詳解Python3.8+PyQt5+pyqt5-tools+Pycharm配置詳細(xì)教程
- Python3.7安裝PyQt5 運(yùn)行配置Pycharm的詳細(xì)教程
- Python+PyQt5+MySQL實現(xiàn)天氣管理系統(tǒng)
- python3.6.8 + pycharm + PyQt5 環(huán)境搭建的圖文教程
- PyQt 如何創(chuàng)建自定義QWidget
相關(guān)文章
OpenCV-Python 實現(xiàn)兩張圖片自動拼接成全景圖
圖片的全景拼接如今已不再稀奇,現(xiàn)在的智能攝像機(jī)和手機(jī)攝像頭基本都帶有圖片自動全景拼接的功能,本文使用OpenCV-Python 實現(xiàn)兩張圖片自動拼接成全景圖,感興趣的可以了解一下2021-06-06
Django User 模塊之 AbstractUser 擴(kuò)展詳解
這篇文章主要介紹了Django User 模塊之 AbstractUser 擴(kuò)展詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
詳解Python中sorted()和sort()的使用與區(qū)別
眾所周知,在Python中常用的排序函數(shù)為sorted()和sort()。本文將詳細(xì)介紹sorted()和sort()方法的代碼示例,并解釋兩者之間的區(qū)別,感興趣的可以了解一下2022-03-03
結(jié)合Python工具使用TfidfVectorizer進(jìn)行文本特征提取方式
在自然語言處理中,TF-IDF是一種重要的特征提取方法,本文介紹了如何使用Python的sklearn庫中的TfidfVectorizer進(jìn)行文本特征提取,首先,需要安裝sklearn庫,TfidfVectorizer能將文本文檔集合轉(zhuǎn)換為TF-IDF特征矩陣2024-10-10
python pyautogui手動活動(模擬鼠標(biāo)鍵盤)自動化庫使用
這篇文章主要為大家介紹了python pyautogui手動活動(模擬鼠標(biāo)鍵盤)自動化庫使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01

