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)建一個(gè)提示 page.setToolTip('這是Window關(guān)機(jī)工具') #創(chuàng)建一個(gè)文本標(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)建一個(gè)文本標(biāo)簽和時(shí)間欄框 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)建一個(gè)日期時(shí)間文本框,QDateEdit表示添加日期文本框,QTimeEdit表示添加時(shí)間文本框 self.time = QtWidgets.QDateTimeEdit(page) #設(shè)置日期時(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)前時(shí)間 #now = QtCore.QDateTime.currentDateTime() #now_time = now.toString(QtCore.Qt.ISODate) #將當(dāng)前系統(tǒng)時(shí)間賦值給時(shí)間框中 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)建一個(gè)按鈕并設(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)建一個(gè)按鈕并設(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è)置一個(gè)文本提示框 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ī)時(shí)間")) self.label2.setText(_translate("page","日期:")) self.btn.setText(_translate("page","提交")) self.btn1.setText(_translate("page","清除")) self.text.setText(_translate("page","請?jiān)O(shè)置關(guān)機(jī)時(shí)間!")) #添加關(guān)機(jī)計(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è)置錯(cuò)誤!") #清除關(guān)機(jī)計(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)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- python GUI庫圖形界面開發(fā)之PyQt5窗口控件QWidget詳細(xì)使用方法
- python GUI庫圖形界面開發(fā)之PyQt5中QMainWindow, QWidget以及QDialog的區(qū)別和選擇
- Python PyQt5-圖形界面的美化操作
- python中pyqtgraph知識點(diǎn)總結(jié)
- 詳解Python GUI編程之PyQt5入門到實(shí)戰(zhàn)
- 詳解Python3.8+PyQt5+pyqt5-tools+Pycharm配置詳細(xì)教程
- Python3.7安裝PyQt5 運(yùn)行配置Pycharm的詳細(xì)教程
- Python+PyQt5+MySQL實(shí)現(xiàn)天氣管理系統(tǒng)
- python3.6.8 + pycharm + PyQt5 環(huán)境搭建的圖文教程
- PyQt 如何創(chuàng)建自定義QWidget
相關(guān)文章
OpenCV-Python 實(shí)現(xiàn)兩張圖片自動(dòng)拼接成全景圖
圖片的全景拼接如今已不再稀奇,現(xiàn)在的智能攝像機(jī)和手機(jī)攝像頭基本都帶有圖片自動(dòng)全景拼接的功能,本文使用OpenCV-Python 實(shí)現(xiàn)兩張圖片自動(dòng)拼接成全景圖,感興趣的可以了解一下2021-06-06Python-opencv實(shí)現(xiàn)紅綠兩色識別操作
這篇文章主要介紹了Python-opencv實(shí)現(xiàn)紅綠兩色識別操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06Django User 模塊之 AbstractUser 擴(kuò)展詳解
這篇文章主要介紹了Django User 模塊之 AbstractUser 擴(kuò)展詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03詳解Python中sorted()和sort()的使用與區(qū)別
眾所周知,在Python中常用的排序函數(shù)為sorted()和sort()。本文將詳細(xì)介紹sorted()和sort()方法的代碼示例,并解釋兩者之間的區(qū)別,感興趣的可以了解一下2022-03-03Python實(shí)現(xiàn)進(jìn)程同步和通信的方法
本篇文章主要介紹了Python實(shí)現(xiàn)進(jìn)程同步和通信的方法,詳細(xì)的介紹了Process、Queue、Pipe、Lock等組件,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-01-01結(jié)合Python工具使用TfidfVectorizer進(jìn)行文本特征提取方式
在自然語言處理中,TF-IDF是一種重要的特征提取方法,本文介紹了如何使用Python的sklearn庫中的TfidfVectorizer進(jìn)行文本特征提取,首先,需要安裝sklearn庫,TfidfVectorizer能將文本文檔集合轉(zhuǎn)換為TF-IDF特征矩陣2024-10-10python pyautogui手動(dòng)活動(dòng)(模擬鼠標(biāo)鍵盤)自動(dòng)化庫使用
這篇文章主要為大家介紹了python pyautogui手動(dòng)活動(dòng)(模擬鼠標(biāo)鍵盤)自動(dòng)化庫使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01