привязка события нажатия клавиши к виджету ярлыка tkinter - PullRequest
0 голосов
/ 11 июля 2019

Я пытаюсь привязать событие click1 к self.entrada4_2 (которое является меткой), оно не работает независимо от того, что я пытаюсь.

class Pagina_dos(tk.Frame):
    def __init__(self, parent, controller):
        tk.Frame.__init__(self, parent)
        self.controller = controller
        texto4_1=tk.Label(self, text="Registro") .grid(row=0, column=0)
        texto4_2=tk.Label(self, text="Peso") .grid(row=1, column=0)
        entrada4_1=tk.Label(self, width=20, text=1)
        entrada4_1.grid(row=0, column=1)
        self.entrada4_2=ttk.Label(self,text="", width=20)
        self.update_pesa()
        def click1 (event=None):
            global numero_registro
            agarre=self.entrada4_2.cget("text")
            lista_regsitro.append(agarre)
            numero_registro=numero_registro+1
            entrada4_1=tk.Label(self, width=20, text=numero_registro)
            entrada4_1.grid(row=0, column=1)
        self.entrada4_2.grid(row=1, column=1)
        boton_registrar=tk.Button(self)
        self.entrada4_2.bind('<Return>', click1)
        boton_registrar.config(text="REGISTRAR",width=11, command=click1)
        boton_registrar.grid(row=2, column=0)
        boton_acabar=tk.Button(self, text="PARAR",width=7, command=controller.destruir).grid(row=2, column=1)
    def update_pesa(self):
        read=None
        ser=serial.Serial("COM4",baudrate=9600)
        while read==None:
            Pesa=ser.read()
            if Pesa==b"=":
                read=ser.read(7)
                self.entrada4_2.configure(text=read)
                self.after(100, self.update_pesa)

когда я выполняю код, нажатие клавиши не работает, но кнопка работает. Есть ли способ привязать событие к метке или связать нажатие клавиши с кнопкой?

1 Ответ

0 голосов
/ 12 июля 2019

Поскольку цель состоит в том, чтобы нажатие клавиши возврата выполняло действие по умолчанию, самое простое решение - это привязка к самому верхнему уровню. Затем вам нужно сделать акцент на окне при открытии. Это может произойти по умолчанию в зависимости от операционной системы, но хорошо, если вы об этом явно заявите.

Примечание: при привязке к Toplevel все виджеты в этом Toplevel также получают привязку, поэтому независимо от того, какой внутренний виджет имеет фокус, привязка будет работать.

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