最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

通過Python實現(xiàn)電腦定時關(guān)機的兩種方法

 更新時間:2021年12月29日 09:41:26   作者:顧木子吖  
這篇文章主要介紹了分別利用PyQT5和Tkinter實現(xiàn)電腦的定時關(guān)機小程序,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Python有一定的幫助,快跟隨小編一起學(xué)習(xí)一下吧

導(dǎo)語

無論家用電腦還是公司的電腦,定時開關(guān)機都是一個非常實用的功能,只是一般都不太受關(guān)注。定時關(guān)機不僅能延長電腦的使用壽命,還能節(jié)約超多的電費呢~哈哈哈哈?

害~這不,周天休假一天,但是公司的電腦大部分的小伙伴兒就開了一天,有時候放長假的時候電腦一開就是幾天。這不?隔壁的小姐姐已經(jīng)被領(lǐng)導(dǎo)發(fā)現(xiàn)了,最后的最后這個事情就落到我手里了,開發(fā)一個能定時關(guān)機的源碼項目供大家使用,并互相提醒每個人一定要下班關(guān)機!

定時開關(guān)機是個非常簡單又實用的功能,跟著本文用不了10分鐘你就能學(xué)會如何進(jìn)行操作了哈~

本文介紹了:普通人關(guān)機的習(xí)慣方式、以及程序員關(guān)機的方式哈!主頁(pc端)左側(cè)有源碼滴~

并且程序員關(guān)機附了2份代碼喜歡tkinter的就用tk版本的,喜歡pyqt5的就用這版本的。兩個版本大家自己愛用那個用那個哈~

一、普通人關(guān)機

0)優(yōu)雅的關(guān)機

1)快捷鍵關(guān)機

使用快捷鍵關(guān)機相信是大家比較常用的方法了吧?也是最簡單方便的方法。

按下快捷鍵【Alt】+【F4】彈出功能對話框,實現(xiàn)快速關(guān)機,又快又準(zhǔn)效率極高。

2)任務(wù)管理器關(guān)機

這個方法和上一個快捷鍵關(guān)機的方法有著異曲同工之妙,按下快捷鍵【Alt】+【Ctrl】+

【Delete】,打開任務(wù)管理器,右下方有個圓形關(guān)機按鈕,點擊即可關(guān)機。

3)設(shè)置關(guān)機時間

這個方法可以實現(xiàn)定時關(guān)機,算好想要關(guān)機的時間,設(shè)置完成后電腦到點就會自動關(guān)機。再也不用因為電腦關(guān)機更新而等個半天了。按下快捷鍵【win】+【R】,在運行對話框內(nèi)輸入《at 20:00 shutdown -s》后點擊確定,系統(tǒng)就會在晚上8點準(zhǔn)時關(guān)機。這個方法可以在大家確定能夠關(guān)機時間的情況下使用還是非常方便的。

4)鼠標(biāo)滑動關(guān)機

在電腦桌面位置創(chuàng)建一個快捷方式,在出現(xiàn)的對話框內(nèi)輸入“slidetoshutdown”后點下一步。

點擊完成即可。

此時電腦桌面上就多了一個快捷方式,想要關(guān)機時雙擊該快捷方式,就會出現(xiàn)以下提示,滑動就可以關(guān)閉電腦了。

二、程序員關(guān)機

嘿嘿~雖然確實正常人開關(guān)機上面的更方便快速哈!但是源碼打包成exe點開更方便啦~尤其是在電腦需要幾個小時之后關(guān)機的,需要先讓電腦自動完成任務(wù)再關(guān)機滴~吶這個還蠻方便的~也許,應(yīng)該更方便.jpg 強行解釋的我2333~這就是娛樂娛樂的代碼哈哈哈哈~

1)Pyqt5界面化小程序

1.1? 附源碼項目

# -*—coding:utf-8 -*-
import sys
import os      # Python執(zhí)行系統(tǒng)命令方法所用到的包
from PyQt5 import QtCore,QtGui,QtWidgets 
 
class Ui_shut(object):   #類 繼承object類
	flag = True
	def setupUi(self,shut):  #方法
	    #設(shè)置窗體的大小
		shut.setObjectName("shut")
		shut.resize(420,180)             
		shut.setFixedSize(420,180)
 
		self.label = QtWidgets.QLabel(shut)
		self.label.setGeometry(QtCore.QRect(40,50,41,51)) #標(biāo)簽的位置
		self.label.setFont(QtGui.QFont("Roman times",10,QtGui.QFont.Bold))
		self.label.setObjectName("label")
 
		self.lineEdit = QtWidgets.QLineEdit(shut)
		self.lineEdit.setGeometry(QtCore.QRect(70, 50, 71, 41))
		self.lineEdit.setFont(QtGui.QFont("Roman times",10,QtGui.QFont.Bold))
		self.lineEdit.setObjectName("lineEdit")
 
		self.label_2 = QtWidgets.QLabel(shut)
		self.label_2.setGeometry(QtCore.QRect(150, 60, 31, 31))
		self.label_2.setFont(QtGui.QFont("Roman times",10,QtGui.QFont.Bold))
		self.label_2.setObjectName("label_2")
 
		self.lineEdit_2 = QtWidgets.QLineEdit(shut)
		self.lineEdit_2.setGeometry(QtCore.QRect(180, 50, 71, 41))
		self.lineEdit_2.setFont(QtGui.QFont("Roman times",10,QtGui.QFont.Bold))
		self.lineEdit_2.setObjectName("lineEdit_2")
 
		self.label_3 = QtWidgets.QLabel(shut)
		self.label_3.setGeometry(QtCore.QRect(260, 60, 31, 31))
		self.label_3.setFont(QtGui.QFont("Roman times",10,QtGui.QFont.Bold))
		self.label_3.setObjectName("label_3")
 
		self.pushButton = QtWidgets.QPushButton(shut,clicked=self.sd)  #為pushButton添加監(jiān)聽事件click。
		self.pushButton.setGeometry(QtCore.QRect(290, 50, 101, 41))
		self.pushButton.setFont(QtGui.QFont("Roman times",10,QtGui.QFont.Bold))
		self.pushButton.setObjectName("pushButton")
 
		self.label_4 = QtWidgets.QLabel(shut)
		self.label_4.setGeometry(QtCore.QRect(0, 120, 500, 31))
		self.label_4.setFont(QtGui.QFont("Roman times",10,QtGui.QFont.Bold))
		self.label_4.setObjectName("label_4")
 
		self.retranslateUi(shut)
		QtCore.QMetaObject.connectSlotsByName(shut) #connectSlotsByName是一個QMetaObject類里的靜態(tài)函數(shù),其作用是用來將QObject * o里的子QObject的某些信號按照其objectName連接到o的槽上。
        
 
	def retranslateUi(self,shut):
		_translate = QtCore.QCoreApplication.translate
		shut.setWindowTitle(_translate("shut", "Windows定時關(guān)機器"))
		self.label.setText(_translate("shut", "在:"))
		self.label_2.setText(_translate("shut", "時"))
		self.label_3.setText(_translate("shut", "分"))
		self.label_4.setText(_translate("shut", "    請輸入關(guān)機時間"))
		self.pushButton.setText(_translate("shut", "設(shè)置"))
	def sd(self,shut):        #self.sd為觸發(fā)該事件后,需要執(zhí)行的操作。
		h = self.lineEdit.text()
		m = self.lineEdit_2.text()
		if self.flag:
			self.flag = False
			try:                     #捕獲所有異常
				os.popen('at'+ h + ':' + m + ' shutdown -s') #python執(zhí)行cmd命令的方法
				self.label_4.setText('    設(shè)置成功! 系統(tǒng)將關(guān)機在今天 '+h+':'+m)
				self.pushButton.setText('移除')
				self.lineEdit.clear()
				self.lineEdit_2.clear()
			except:
				self.label_4.setText('Something is wrong~')
		else:
			self.flag = True
			try:
				os.popen('at /delete /yes')
				self.label_4.setText('成功,全部移除')
				self.pushButton.setText('Set')
				self.lineEdit.clear()
				self.lineEdit_2.clear()
			except:
				self.label_4.setText('Something is wrong')

1.2? 效果展示

?2)Tkinter界面化小程序

2.1? 附源碼項目

from tkinter import ttk
import os
import tkinter.messagebox as message_box
 
windows = tkinter.Tk()
windows.title("Python定時關(guān)機")
# window 居中
windows.update()  # update window ,must do
curWidth = 280  # get current width
curHeight = windows.winfo_reqheight()  # get current height
scnWidth, scnHeight = windows.maxsize()  # get screen width and height
# now generate configuration information
config = '%dx%d+%d+%d' % (curWidth, curHeight,
                          (scnWidth - curWidth) / 2, (scnHeight - curHeight) / 2)
windows.geometry(config)
# root 容器
root = ttk.LabelFrame(windows, text="關(guān)機命令")
root.grid(column=0, row=0, padx=15, pady=15)
# 提醒文本
tkinter.Label(root, text="輸入時間").grid(column=0, row=0, sticky=tkinter.W)
tkinter.Label(root, text="選擇").grid(column=1, row=0)
 
# 存儲輸入的值
time = tkinter.StringVar()
unit = tkinter.StringVar()
# 輸入框
time_edit = tkinter.Entry(root, width=10, textvariable=time)
time_edit.grid(column=0, row=1, padx=4, sticky=tkinter.W)
time_edit.focus()
# 下拉單位選擇
unit_arr = ('時', '分', '秒')
unit_chosen = ttk.Combobox(root, width=6, textvariable=unit, state='readonly')
unit_chosen['values'] = unit_arr
unit_chosen.grid(column=1, row=1)
unit_chosen.current(0)
 
 
def change_edit(to_time):
    time_edit.delete(0, 10)
    time_edit.insert(0, to_time)
    unit_chosen.current(1)
 
 
# start
def start():
    if time.get() and unit.get():
        message_box.showwarning("選擇完畢", "你的電腦將在多少 %s %s" % (time.get(), unit.get()))
        # shutdown 的秒數(shù)
        count_down_second = int(time.get())
        if unit.get() == 'hour':
            count_down_second *= 3600
        elif unit.get() == 'minute':
            count_down_second *= 60
        # execute
        os.system("shutdown -s -t %s" % count_down_second)
        windows.quit()
 
 
# cancel
def cancel():
    os.system("shutdown -a")
    windows.quit()
 
 
# start 按鈕
start_action = tkinter.Button(root, text="START", command=start)
start_action.grid(column=2, row=1)
# 文本
tip_label = tkinter.Label(root, text="倒計時關(guān)機")
tip_label.grid(row=2, column=0, pady=2)
# 快捷選擇時間
fram = tkinter.Frame(root)
fram.grid(row=3, column=0, columnspan=3)
# 常用的時間
for i in range(2, 7):
    button = tkinter.Button(fram, text=str(i * 15) + "min", command=lambda x=i: change_edit(str(x * 15)))
    button.grid(row=0, column=i - 2, padx=2, pady=2, sticky=tkinter.W)
# cancel 按鈕
cancel_action = tkinter.Button(root, text="CANCEL", command=lambda: cancel())
cancel_action.grid(row=4, column=1, pady=10, sticky=tkinter.W)

2.2? 效果展示

以上就是通過Python實現(xiàn)電腦定時關(guān)機的兩種方法的詳細(xì)內(nèi)容,更多關(guān)于Python電腦定時關(guān)機的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python九九乘法表的七種實現(xiàn)方式詳解

    Python九九乘法表的七種實現(xiàn)方式詳解

    在Python中,輸出九九乘法表是一道非常基礎(chǔ)的題目,但對于初學(xué)者來說,也是一個很好的練習(xí)和鞏固基礎(chǔ)知識的機會,這篇文章主要給大家介紹了關(guān)于Python九九乘法表的七種實現(xiàn)方式,需要的朋友可以參考下
    2023-09-09
  • pyqt5自定義信號實例解析

    pyqt5自定義信號實例解析

    這篇文章主要介紹了pyqt5自定義信號實例解析,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • python3個性簽名設(shè)計實現(xiàn)代碼

    python3個性簽名設(shè)計實現(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了python3個性簽名設(shè)計的實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • 一文詳解loss.item()用法和注意事項

    一文詳解loss.item()用法和注意事項

    loss.item()是PyTorch中的一種方法,用于計算損失函數(shù)的值,下面這篇文章主要給大家介紹了關(guān)于loss.item()用法和注意事項的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • python pandas.DataFrame.loc函數(shù)使用詳解

    python pandas.DataFrame.loc函數(shù)使用詳解

    這篇文章主要介紹了python pandas.DataFrame.loc函數(shù)使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • Python五種下劃線詳解

    Python五種下劃線詳解

    這篇文章主要介紹了Python下劃線5種含義實例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2021-10-10
  • python中JSON數(shù)據(jù)格式的詳細(xì)使用教程

    python中JSON數(shù)據(jù)格式的詳細(xì)使用教程

    這篇文章主要給大家介紹了關(guān)于python中JSON數(shù)據(jù)格式的詳細(xì)使用,JSON是一種用于存儲和交換數(shù)據(jù)的語法,JSON是文本,使用JavaScript對象表示法編寫,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-02-02
  • 詳解python中g(shù)roupby函數(shù)通俗易懂

    詳解python中g(shù)roupby函數(shù)通俗易懂

    這篇文章主要介紹了詳解python中g(shù)roupby函數(shù)通俗易懂,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Python中使用json.load()和json.loads()加載json數(shù)據(jù)的方法實例

    Python中使用json.load()和json.loads()加載json數(shù)據(jù)的方法實例

    在python編程中,我們經(jīng)常要用到j(luò)son對象作為數(shù)據(jù)交換格式,下面這篇文章主要給大家介紹了關(guān)于Python中使用json.load()和json.loads()加載json數(shù)據(jù)的方法實例,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • Pytest斷言的具體使用

    Pytest斷言的具體使用

    本文主要介紹了Pytest斷言的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02

最新評論

文安县| 专栏| 西乌珠穆沁旗| 德化县| 元江| 桐城市| 呼伦贝尔市| 茌平县| 公安县| 平山县| 五家渠市| 遵义县| 杨浦区| 白沙| 云安县| 漳州市| 扶风县| 靖宇县| 林芝县| 海城市| 巴南区| 铁力市| 屏南县| 平罗县| 孟津县| 和田市| 巴彦淖尔市| 城口县| 大荔县| 寿阳县| 常州市| 北安市| 铁岭县| 高邮市| 南康市| 东阿县| 温州市| 奉新县| 瓮安县| 青海省| 延边|