Когда я запускаю функцию с помощью window.bind("",) она работает, но когда я запускаю её с помощью меню она не работает?

Когда я запускаю функцию с помощью window.bind("",<функция>) она работает, но когда я запускаю её с помощью меню она не работает.

from tkinter import *
from tkinter import scrolledtext

def control_c(*args):
    try:
        text = text.selection_get()
    except:
        pass
    else:
        clinpboard_clear()
        clinpboard_append(text)
def control_x(*args):
    try:
        text = txt.selection_get()
    except:
        pass
    else:
        clipboard_creat()
        clipboard_appent(text)
        text.delete('sel.first', 'sel.last')
def control_v(*args):
    try:
        text = txt.selection_get()
    except:
        pass
def popup(e):
    x = e
    y = e
    menup.post(e.x_root, e.y_root)

                    
window = Tk()
window.title('текстовый редактор')

window.minsize(width = 500,height=500)
window.maxsize(width = 500,height=500)
        
#поле ввода текста
txt = scrolledtext.ScrolledText(window, width = 60, height = 40, wrap='word')
txt.grid(column=0,row=0)

window.bind("<Control-c>",control_c)
window.bind("<Control-v>",control_v)
window.bind("<Control-x>",control_x)
window.bind("<Button-3>", popup)

#----------------------------------------------------#контекстное меню
menup = Menu(tearoff=0)
menup.add_command(label="Вырезать",command=control_x)
menup.add_command(label="Вставить",command=control_v)
menup.add_command(label="Копировать",command=control_c)

window.mainloop()
  • Вопрос задан
  • 39 просмотров
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
она работает

Не работает.

В коде есть ошибки, по которым можно понять в чем же проблема. Но вы зачем-то отключили их вывод, сделав
try:
    #...
except:
    pass

И теперь закономерно не можете найти что не так
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы