Я хотел бы построить программу на Python, напоминающую поведение заставки, но я не уверен, как реализовать часть, в которой я проверяю, как долго пользователь был неактивен, и открывать окно Tkinter только тогда, когда оно достигает определенного значения.Я хочу запустить этот скрипт Python при входе пользователя в систему, запускать в фоновом режиме и открывать окно Tkinter, только когда пользователь становится неактивным, скажем, в течение минуты.
У меня работает главное окно Tkinter, но яне уверен, куда поместить цикл (?), чтобы продолжать проверять время с момента последнего пользовательского действия, или, возможно, мне следует каким-то образом использовать существующий mainloop в конце?
Это мой код для получения значения времени простоя:
def getIdleTime():
last_active = win32api.GetLastInputInfo()
now = win32api.GetTickCount()
elapsed_seconds = (now - last_active)/1000
Где-то в моем коде мне нужно постоянно проверять значение прошедших секунд, и когда оно достигает 60, откройте окно Tk.
Моя программа Tkinter выглядит примерно так:
import tkinter as tk
import random
import pandas as pd
import os
import win32api
#some functions
# --- main ---
root = tk.Tk()
root.attributes('-fullscreen', True)
root.bind("<Return>",change_text_on_click)
root.bind("<Escape>",screen_exit)
c = tk.Canvas(root, bg='black')
c.pack(expand=1, fill=tk.BOTH)
w = c.create_text(
400, 500,
anchor=tk.CENTER,
font=("Calibri",70),
fill='white',
width=root.winfo_screenwidth()*0.8,
text='' # empty string populated by change_text function
)
# set first text
change_text()
root.mainloop()