-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPyClicker.py
More file actions
83 lines (66 loc) · 2.22 KB
/
Copy pathPyClicker.py
File metadata and controls
83 lines (66 loc) · 2.22 KB
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
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Mon Apr 8 09:36:03 2024
@author: CoderXYZ7
"""
import tkinter as tk
import keyboard
import time
# Funzione per cambiare lo stato della variabile toggle
def toggle_variable():
global toggle
toggle = not toggle
update_color()
# Funzione per aggiornare il colore del quadrato in base allo stato della variabile toggle
def update_color():
if toggle:
canvas.itemconfig(square, fill="blue")
else:
canvas.itemconfig(square, fill="red")
# Funzione per gestire l'input della tastiera
def key_pressed(event):
global toggle, custom_delay
if event.name == '0':
toggle_variable()
elif toggle and event.name == 'space':
time.sleep(custom_delay)
keyboard.press_and_release('c')
# Funzione per aggiornare il valore del ritardo personalizzato
def update_delay():
global custom_delay
try:
custom_delay = float(delay_entry.get())
except ValueError:
# Se l'utente inserisce un valore non valido, mantieni il valore precedente
delay_entry.delete(0, tk.END)
delay_entry.insert(0, str(custom_delay))
# Funzione per aggiornare il ritardo personalizzato quando viene premuto il pulsante
def update_delay_button():
update_delay()
# Creazione della finestra principale
root = tk.Tk()
root.title("Toggle Square")
# Creazione del canvas per disegnare il quadrato
canvas = tk.Canvas(root, width=100, height=100)
canvas.pack()
# Disegno del quadrato
square = canvas.create_rectangle(25, 25, 75, 75, fill="red")
# Inizializzazione della variabile toggle
toggle = False
# Inizializzazione del ritardo personalizzato
custom_delay = 0.5
# Aggiunta del binding per la pressione dei tasti
keyboard.on_press(key_pressed)
# Aggiunta del box di testo per il ritardo personalizzato
delay_label = tk.Label(root, text="Custom Delay:")
delay_label.pack()
delay_entry = tk.Entry(root)
delay_entry.pack()
delay_entry.insert(0, str(custom_delay))
delay_entry.bind("<Return>", lambda event: update_delay())
# Creazione del pulsante per aggiornare il ritardo personalizzato
update_delay_button = tk.Button(root, text="Update Delay", command=update_delay_button)
update_delay_button.pack()
# Avvio del mainloop
root.mainloop()