Звуки ввода в виджете ввода tkinter - PullRequest
0 голосов
/ 09 июля 2020

Есть ли способ сделать звук для каждой клавиши при вводе в виджете ввода в tkinter?

Просто образец:

root = Tk()
e = Entry(root)
e.pack()
root.mainloop()

Заранее спасибо :)

1 Ответ

4 голосов
/ 09 июля 2020

Вы можете использовать привязку событий. Каждый раз, когда нажимается клавиша, он может воспроизводить звуковой образец.

В этом примере он воспроизводит очень раздражающий звуковой сигнал. Поскольку вы используете windows, я использую модуль winsound.

Код:

from tkinter import *
import winsound
root = Tk()
e = Entry(root)
e.pack()
def key_pressed(event):
    print("doing")
    winsound.Beep(1000, 100)

e.bind_all("<Key>", key_pressed)

root.mainloop()

Для пользователей, отличных от windows, вы можете использовать playsound модуль. Чтобы установить его, используйте следующее:

python -m pip install playsound

Убедитесь, что вы загрузили короткий звуковой сигнал для использования в вашей программе. Кроме того, не забудьте поместить оба файла в тот же каталог .

Код:

from tkinter import *
from playsound import playsound
root = Tk()
e = Entry(root)
e.pack()
def key_pressed(event):
    playsound("Recording (52).wav")

e.bind_all("<Key>", key_pressed)

root.mainloop()

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...