TKINTER GUI Freeze

Fragen zu Tkinter.
Antworten
mork
User
Beiträge: 1
Registriert: Samstag 17. Juni 2023, 00:20

Moin, ich wollte ein AutoClicker Programmieren mit einem GUI. Wenn ich diesen jetzt Starte, dann freezed er nachdem ich den Key drücke. Ich kann mir das leider nicht selbst erklären und würde mich auf hilfe freuen. (Bin neu in Python und coding generell.)

Code: Alles auswählen

import tkinter as tk
import threading
import time
from pynput.mouse import Button, Controller
from pynput.keyboard import Listener, KeyCode
press = "NO KEY SELECTED"

#ALLE DEFINITIONEN VON COMMANDS
#Clicker
def clicker():
    while True:
        if clicking:
            mouse.click(Button.left, 2)
        time.sleep(0.00001)

#EVENT
def toggle_event(key):
    if key == TOGGLE_KEY:
        global clicking
        clicking = not clicking

#Bot
def bot():
    global TOGGLE_KEY
    global clicking
    global mouse
    print(f"Drücke den Knopf. = '{press}'")
    TOGGLE_KEY = KeyCode(char=press)
    clicking = False
    mouse = Controller()
    click_thread = threading.Thread(target=clicker)
    click_thread.start()
    with Listener(on_press=toggle_event) as listener:
        listener.join()


#ACCEPT BUTTON NACH SETTINGS EINGABE
def settings_entry_accept_def():
    global press
    settings_entry.get()
    press = settings_entry.get().lower()
    settings_entry_accept.place_forget()
    settings_entry.place_forget()
    key_text.place_forget()
    text_settings.place(x=365, y=374)
    text_settings.configure(text="SAVED!", bg="grey5", fg="lightgreen")


#Einblenden von Entryfeld und Accept nach Klicken des Settingsbutton
def settings_button_def():
    settings_entry.place(x=349, y=377)
    settings_entry_accept.place(x=409, y=377)

#main Window einstellungen
main = tk.Tk()
main.geometry("500x400")
main.title("Auto-Clicker by Mork")
main.resizable(False, False)
main.config(bg="grey5")

#Titel
titel_text = tk.Label(main, text="Auto-Clicker",bg="grey5", fg="DARKRED", font=("Arial", 42))
titel_text.place(x=10,y=0)
titel_text_name = tk.Label(main, text="by Mork",bg="grey5", fg="DARKRED", font=("Arial", 26))
titel_text_name.place(x=190,y=70)

#Key to AutoClick
key_text = tk.Label(main, text=press, bg="grey5", fg="DARKRED")
key_text.place(x=345, y=313)

#TEXT UNTER SETTINGS
text_settings = tk.Label(main)

#SELECT KEY Button im Main Window
settings_button = tk.Button(main, text="KEY SELECT", bg="DARKRED", fg="LIGHTGREEN", width=10, height=2, font=("Arial", 10), command=settings_button_def)
settings_button.place(x=349, y=333)

#Entry Feld unter Settins Button
settings_entry = tk.Entry(main, bg="DARKRED", fg="LIGHTGREEN", width=9)


#Haken neben Entry Feld
settings_entry_accept = tk.Button(main, text="✔", bg="DARKRED", fg="LIGHTGREEN", width=4, height=1, command=settings_entry_accept_def)

#Start Button
start_button = tk.Button(main, text="Start Bot", bg="DARKRED", fg="LIGHTGREEN", width=10, height=2,font=("Arial", 10), command=bot)
start_button.place(x=78, y=333)

main.mainloop()
Antworten