一段时间后如何使用取消按钮执行命令

壁球

我想要的是让计算机在大约10秒钟后进入睡眠状态,但是我希望它有一条带有取消按钮的消息

这是我尝试的:

这是我对tkinter的警告:

from tkinter import *
import ctypes

def callback():
quit()


root = Tk()
root.geometry("400x268")
root.title("Alert")
root.configure(background='light blue')



label = Label(root, text="ALERT this device will go to sleep soon!",   fg="red")
label.config(font=("Courier", 12))
label.configure(background='light blue')
quitButton = Button(root, text="do not sleep!", command=callback)
quitButton.pack()
quitButton.place(x=150, y=150)


label.pack()
root.mainloop()  

我需要它倒数直到睡觉(此命令):

import time
import os

os.system("Powercfg -H OFF")
os.system("rundll32.exe powrprof.dll,SetSuspendState 0,1,0")

但是,如果我按下“取消”按钮,它将停止并且什么也不会发生

Stevo Mitric

您可以使用after方法。after(DELAY_MS, CALLBACK=None, *args)像这样的东西:

from tkinter import *
import ctypes, os

def callback():
    active.set(False)
    #root.destroy()         # Uncoment this to close the window

def sleep():
    if not active.get(): return
    root.after(1000, sleep)
    timeLeft.set(timeLeft.get()-1)
    timeOutLabel['text'] = "Time Left: " + str(timeLeft.get())  #Update the label
    if timeLeft.get() == 0:                                     #sleep if timeLeft = 0
        os.system("Powercfg -H OFF")
        os.system("rundll32.exe powrprof.dll,SetSuspendState 0,1,0")
        callback()

root = Tk()
root.geometry("400x268")
root.title("Alert")
root.configure(background='light blue')

timeLeft = IntVar()
timeLeft.set(10)            # Time in seconds until shutdown

active = BooleanVar()
active.set(True)            # Something to show us that countdown is still going.

label = Label(root, text="ALERT this device will go to sleep soon!",   fg="red")
label.config(font=("Courier", 12))
label.configure(background='light blue')
label.pack()
timeOutLabel = Label(root, text = 'Time left: ' + str(timeLeft.get()), background='light blue') # Label to show how much time we have left.
timeOutLabel.pack()
quitButton = Button(root, text="do not sleep!", command=callback)
quitButton.pack()   
quitButton.place(x=150, y=150)      

root.after(0, sleep)
root.mainloop()  

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

一段时间没有活动后,如何在终端中自动执行命令?

来自分类Dev

一段时间没有活动后,如何在终端中自动执行命令?

来自分类Dev

如果没有用户输入,则在一段时间后执行命令

来自分类Dev

一段时间后如何执行某些功能?

来自分类Dev

一段时间后取消requestAnimationFrame循环

来自分类Dev

Python - 在一段时间后执行函数?

来自分类Dev

一段时间后如何取消警报?| 安卓

来自分类Dev

一段时间后运行命令(js)

来自分类Dev

一段时间后如何停止执行包含无限循环的Javascript函数

来自分类Dev

Flutter闲置一段时间后如何执行功能

来自分类Dev

如果用户未单击任何按钮,如何在一段时间后关闭NSAlert

来自分类Dev

如何在javascript中一段时间后触发按钮的点击事件

来自分类Dev

一段时间后执行代码而不在Python中使用睡眠吗?

来自分类Dev

如何禁用 jquery 函数执行一段时间

来自分类Dev

如何暂停 selenium 脚本的执行一段时间?

来自分类Dev

如何禁用按钮的 onClick() 事件一段时间?

来自分类Dev

一段时间后如何加载JavaScript?

来自分类Dev

一段时间后如何调用方法

来自分类Dev

一段时间后,如何使JLabel消失?

来自分类Dev

一段时间后如何隐藏推送通知?

来自分类Dev

硒一段时间后如何跳过网页

来自分类Dev

一段时间后如何加载javascript?

来自分类Dev

一段时间后如何隐藏推送通知?

来自分类Dev

一段时间后如何使根外壳超时?

来自分类Dev

禁用按钮一段时间

来自分类Dev

一段时间后使用Javascript加载网页

来自分类Dev

一段时间后翻转

来自分类Dev

一段时间后如何使用jquery或javascript撤消event.preventdefault

来自分类Dev

如何使用jQuery在一段时间后更改文本?

Related 相关文章

  1. 1

    一段时间没有活动后,如何在终端中自动执行命令?

  2. 2

    一段时间没有活动后,如何在终端中自动执行命令?

  3. 3

    如果没有用户输入,则在一段时间后执行命令

  4. 4

    一段时间后如何执行某些功能?

  5. 5

    一段时间后取消requestAnimationFrame循环

  6. 6

    Python - 在一段时间后执行函数?

  7. 7

    一段时间后如何取消警报?| 安卓

  8. 8

    一段时间后运行命令(js)

  9. 9

    一段时间后如何停止执行包含无限循环的Javascript函数

  10. 10

    Flutter闲置一段时间后如何执行功能

  11. 11

    如果用户未单击任何按钮,如何在一段时间后关闭NSAlert

  12. 12

    如何在javascript中一段时间后触发按钮的点击事件

  13. 13

    一段时间后执行代码而不在Python中使用睡眠吗?

  14. 14

    如何禁用 jquery 函数执行一段时间

  15. 15

    如何暂停 selenium 脚本的执行一段时间?

  16. 16

    如何禁用按钮的 onClick() 事件一段时间?

  17. 17

    一段时间后如何加载JavaScript?

  18. 18

    一段时间后如何调用方法

  19. 19

    一段时间后,如何使JLabel消失?

  20. 20

    一段时间后如何隐藏推送通知?

  21. 21

    硒一段时间后如何跳过网页

  22. 22

    一段时间后如何加载javascript?

  23. 23

    一段时间后如何隐藏推送通知?

  24. 24

    一段时间后如何使根外壳超时?

  25. 25

    禁用按钮一段时间

  26. 26

    一段时间后使用Javascript加载网页

  27. 27

    一段时间后翻转

  28. 28

    一段时间后如何使用jquery或javascript撤消event.preventdefault

  29. 29

    如何使用jQuery在一段时间后更改文本?

热门标签

归档