import winsound
import tkinter as tk
from tkinter import Menu
import time
def play_sound():
numbers_str = text.get(“1.0”, “end-1c”)
for char in numbers_str:
if char == ‘-’:
time.sleep(0.5)
elif char == ‘1’:
winsound.Beep(500, 500)
elif char == ‘2’:
winsound.Beep(700, 500)
elif char == ‘3’:
winsound.Beep(900, 500)
elif char == ‘4’:
winsound.Beep(1100, 500)
elif char == ‘5’:
winsound.Beep(1300, 500)
elif char == ‘6’:
winsound.Beep(1500, 500)
elif char == ‘7’:
winsound.Beep(1700, 500)
elif char == ‘8’:
winsound.Beep(1900, 500)
else:
print(f"输入错误字符:{char},请重新输入只包含 -、1、2、3、4、5、6、7、8 的字符串。")
def show_menu(event):
menu.post(event.x_root, event.y_root)
def select_all():
text.tag_add(“sel”, “1.0”, “end”)
root = tk.Tk()
root.geometry(“800x400”)
创建一个编辑框
text = tk.Text(root)
text.place(x=50, y=10, width=600, height=100)
创建右键菜单
menu = Menu(root, tearoff=0)
menu.add_command(label=“复制”, command=lambda: text.event_generate(“<<复制>>”))
menu.add_command(label=“粘贴”, command=lambda: text.event_generate(“<<粘贴>>”))
menu.add_command(label=“删除”, command=lambda: text.delete(“sel.first”, “sel.last”))
menu.add_command(label=“全选”, command=select_all)
text.bind(“”, show_menu)
button = tk.Button(root, text=“播放输入的数字对应的声音”, command=play_sound)
button.place(x=150, y=150, width=200, height=50)
root.mainloop()