Воспроизведение сэмпла каждого входа tinter.text - PullRequest
0 голосов
/ 20 марта 2020

Мне нужно воспроизводить образец ключа пишущей машинки при каждом вводе tkinter.text. Я наткнулся на модуль Playsound, но я не знаю, как слушать входы.

Ответы [ 2 ]

1 голос
/ 20 марта 2020

Вы бы использовали bind и настраивали функцию для воспроизведения звука при запуске привязки.

import tkinter as tk

def key(event):
    print("pressed", repr(event.char))
    # Play sound here

root = tk.Tk()

text = tk.Text(root)
text.pack()
text.bind('<Key>', key)

root.mainloop()
0 голосов
/ 21 марта 2020

Спасибо, я придумала очень похожее решение, которое действительно очень запаздывает. Я в основном пишу простой эмулятор пишущей машинки, чтобы звук клавиш воспроизводился для каждой набранной буквы.

import tkinter as tk
from PIL import Image, ImageTk
from playsound import playsound


def key(event):
    key = event.char
    playsound("C:/Users/Isma/key1.mp3")



win = tk.Tk()

frame = tk.Frame(win, width=300, height=400)
frame.grid(row=1, column=0)
text = tk.Text(frame)
text.grid(row=0,column=0)
text.bind('<Key>',lambda a : key(a))
image = Image.open("C:/Users/Isma/swintec1.jpg")
photo = ImageTk.PhotoImage(image)
label = tk.Label(frame,image=photo)
label.image = photo
label.grid(row=3,column=0)

win.mainloop()
...