前兩天簡單認識了一下PyQt5,通過練習開發了一款在Window下自定義關機的小工具,
代碼如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
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 開發的關機小工具分享就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。
原文鏈接:https://www.cnblogs.com/lovele-/p/9401553.html