Seite 1 von 1

statt TAB- mit ENTER-Taste

Verfasst: Dienstag 31. Juli 2018, 14:04
von marconisahib
Da bin ich noch einmal.
Komme nach mehreren Tests noch nicht zurecht:
Ich möchte nach der Texteingabe in Zeile 1 mit ENTER auf CHECK springen und durch weiteren ENTER den Test (CHECK) auslösen.
Und auch alle weiteren "tab-Sprünge" durch ENTER aulösen.
(es gibt später noch weitere Button)

Code: Alles auswählen

from Tkinter import *

def abgleich():
    if e1.get() == "meier":
       x = Label(master, text= " Achtung " , bg="white", fg="red").grid(row=0,column=1, sticky=W)
    else:
       x = Label(master, text= " der naechste " , bg="white", fg="green").grid(row=0,column=1, sticky=W)
    e2.focus_set()

master = Tk()
Label(master, text="First Name").grid(row=1)
Label(master, text="Last Name").grid(row=2)
Button(master, text= "check",command=abgleich).grid(row=1,column=2,sticky=W,pady=4)

e1 = Entry(master)
e2 = Entry(master)

e1.grid(row=1, column=1)
e2.grid(row=2, column=1)

mainloop( )

Re: statt TAB- mit ENTER-Taste

Verfasst: Dienstag 31. Juli 2018, 16:56
von __blackjack__
Da sind ja immer noch die ganzen Probleme und Fehler aus diesem Thema drin: viewtopic.php?f=1&t=43379

Code: Alles auswählen

#!/usr/bin/env python
# coding: utf-8
from __future__ import absolute_import, division, print_function
from functools import partial
import Tkinter as tk


def abgleich(status_label, name_entry, last_name_entry):
    if name_entry.get() == 'meier':
        status_label.config(text=' Attention ', fg='red')
    else:
        status_label.config(text=' next ', fg='green')
    last_name_entry.focus_set()


def invoke_and_break(button, _event):
    button.invoke()
    return 'break'


def main():
    root = tk.Tk()
    
    status_label = tk.Label(root, bg='white')
    status_label.grid(row=0, column=1, sticky=tk.W)
    
    tk.Label(root, text='First Name').grid(row=1)
    name_entry = tk.Entry(root)
    name_entry.grid(row=1, column=1)
    
    check_button = tk.Button(root, text='check')
    check_button.grid(row=1, column=2, sticky=tk.W, pady=4)

    tk.Label(root, text='Last Name').grid(row=2)
    last_name_entry = tk.Entry(root)
    last_name_entry.grid(row=2, column=1)

    check_button['command'] = partial(
        abgleich, status_label, name_entry, last_name_entry
    )
    
    check_button.bind('<Return>', partial(invoke_and_break, check_button))
    root.bind('<Return>', lambda _: root.event_generate('<Tab>'))
    
    root.mainloop()


if __name__ == '__main__':
    main()

Re: statt TAB- mit ENTER-Taste

Verfasst: Dienstag 31. Juli 2018, 19:53
von marconisahib
Danke, - so springt die ENTER-Taste prima- aber das muss ich erst genau alles nachvollziehen,verstehen - -und verdauen. Da ist viel Neues.
mni tks+