1 回答
TA貢獻1868條經驗 獲得超4個贊
首先:gui 不會崩潰 - 它工作正常并且在主循環中它執行您正在編寫的命令。它不會刷新,因為它打印輸出而不是刷新 UI。首先請注意,在創建 UI 時需要記住的是,您應該省略主線程中不必要的工作??赡艿慕鉀Q方案:將工作移至單獨的線程并在那里運行,例如:
import time
import tkinter as tk
from pynput.keyboard import Controller as KeyboardController
import threading
keyboard = KeyboardController()
def copy(a):
def print_test(a):
pause_input=2
pause_input2=2
pause_input3=0.5
for _ in range(a):
time.sleep(pause_input)
keyboard.press('t')
keyboard.release('t')
time.sleep(pause_input3)
keyboard.press('e')
keyboard.release('e')
time.sleep(pause_input3)
keyboard.press('s')
keyboard.release('s')
keyboard.press('t')
keyboard.release('t')
print("Wrote test")
t = threading.Thread(target=print_test, args=(a,))
t.start()
root = tk.Tk()
root.title("GUI Button")
btn1 = tk.Button(root, text="Button 1", command=lambda : copy(360))
btn1.pack()
root.mainloop()
添加回答
舉報
