Entry mit Radiobutton
Ich habe 4 Entry (Textfelder einzeilig) und möchte mit Radiobuttons Mengen in das aktuelle Eingabefeld (wo der Cursor steht) eintragen. Die Radiobuttons haben eben Menge 1,00, 2,00 bis 10,00. Diese Mengen möchte ich in alle Entry Felder eintragen je nachdem welches quasi den Fokus hat. Für ein Entry funktioniert es. Aber wie mache ich das für mehrere Entry Felder mit den Radiobuttons (ohne halt das Programm x-Mal zu schreiben). Bitte um Info. Danke für eure Mühe.
Danke für die Antworten. Nachstehend mein Code (Ist eine Testdatei). Wenn für drei Entrys geht dann geht es auch für siebzehn.
from tkinter import *
from tkinter import ttk
gas = Tk()
gas.title("Testdatei NEU")
tab_control = ttk.Notebook(gas)
gas.geometry("700x600")
def weitergeben():
gfeld003.delete(first=0, last=10)
gfeld003.insert(END,lang.get())
#Seiten festlegen
grohre = ttk.Frame(tab_control)
gfittinge = ttk.Frame(tab_control)
gstemmen = ttk.Frame(tab_control)
#Seiten dazunehmen
tab_control.add(grohre, text= "Gasrohre")
tab_control.add(gfittinge, text= "Formstücke")
tab_control.add(gstemmen, text= "Stemmarbeiten")
#Seiten packen (Anzeigen)
tab_control.pack(expand=1, fill='both')
lang = StringVar()
glbl001 = Label(grohre, text ="Großhändler")
glbl001.place(x=10, y=10)
gfeld001 = ttk.Entry(grohre, justify=RIGHT, width="10", font="Arial 10", background="yellow")
#gfeld001.insert(END,"SHT")
gfeld001.place(x=180, y=10, width=80, height=20)
#Fabrikat Geberit Nirostahl, Geberit Nirostahl Gelb ummantelt
glbl002 = Label(grohre, text ="Rohre DIM01")
glbl002.place(x=10, y=40)
gfeld002 = ttk.Entry(grohre, justify=RIGHT, width="10", font="Arial 10")
gfeld002.insert(END,"0,00")
gfeld002.place(x=180, y=40, width=80, height=20)
glbl003 = Label(grohre, text ="Rohre DIM02")
glbl003.place(x=10, y=70)
gfeld003 = ttk.Entry(grohre, justify=RIGHT, width="10", font="Arial 10", background="yellow")
#gfeld003.insert(END,"0,00")
gfeld003.place(x=180, y=70, width=80, height=20)
#gfeld003.set=variable.get()
gausw001 = Radiobutton(grohre, text="0,50", variable=lang, value="0,50", command=weitergeben, indicatoron = 0 )
gausw001.place(x=10, y=150)
gausw002 = Radiobutton(grohre, text="1,00", variable=lang, value="1,00", command=weitergeben, indicatoron = 0)
gausw002.place(x=100, y=150)
gausw003 = Radiobutton(grohre, text="2,00", variable=lang, value="2,00", command=weitergeben, indicatoron = 0)
gausw003.place(x=190, y=150)
#Aktivierung des Fensters
gas.mainloop()
from tkinter import *
from tkinter import ttk
gas = Tk()
gas.title("Testdatei NEU")
tab_control = ttk.Notebook(gas)
gas.geometry("700x600")
def weitergeben():
gfeld003.delete(first=0, last=10)
gfeld003.insert(END,lang.get())
#Seiten festlegen
grohre = ttk.Frame(tab_control)
gfittinge = ttk.Frame(tab_control)
gstemmen = ttk.Frame(tab_control)
#Seiten dazunehmen
tab_control.add(grohre, text= "Gasrohre")
tab_control.add(gfittinge, text= "Formstücke")
tab_control.add(gstemmen, text= "Stemmarbeiten")
#Seiten packen (Anzeigen)
tab_control.pack(expand=1, fill='both')
lang = StringVar()
glbl001 = Label(grohre, text ="Großhändler")
glbl001.place(x=10, y=10)
gfeld001 = ttk.Entry(grohre, justify=RIGHT, width="10", font="Arial 10", background="yellow")
#gfeld001.insert(END,"SHT")
gfeld001.place(x=180, y=10, width=80, height=20)
#Fabrikat Geberit Nirostahl, Geberit Nirostahl Gelb ummantelt
glbl002 = Label(grohre, text ="Rohre DIM01")
glbl002.place(x=10, y=40)
gfeld002 = ttk.Entry(grohre, justify=RIGHT, width="10", font="Arial 10")
gfeld002.insert(END,"0,00")
gfeld002.place(x=180, y=40, width=80, height=20)
glbl003 = Label(grohre, text ="Rohre DIM02")
glbl003.place(x=10, y=70)
gfeld003 = ttk.Entry(grohre, justify=RIGHT, width="10", font="Arial 10", background="yellow")
#gfeld003.insert(END,"0,00")
gfeld003.place(x=180, y=70, width=80, height=20)
#gfeld003.set=variable.get()
gausw001 = Radiobutton(grohre, text="0,50", variable=lang, value="0,50", command=weitergeben, indicatoron = 0 )
gausw001.place(x=10, y=150)
gausw002 = Radiobutton(grohre, text="1,00", variable=lang, value="1,00", command=weitergeben, indicatoron = 0)
gausw002.place(x=100, y=150)
gausw003 = Radiobutton(grohre, text="2,00", variable=lang, value="2,00", command=weitergeben, indicatoron = 0)
gausw003.place(x=190, y=150)
#Aktivierung des Fensters
gas.mainloop()
Warum hast Du vor jedem Deiner Variablennamen ein g gesetzt? Benutze keine Abkürzungen; das macht das Lesen schwierig. Benutze keine *-Importe. Wenn man anfängt, Variablen durchzunummerieren, will man eigentlich Listen verwenden, dass macht das umschreiben auf Schleifen auch einfacher.
Danke für die Belehrungen. Wie bereits geschrieben handel es sich um eine Testdatei die schnell herunter geschrieben wurde um das Problem zu lösen. Wie kann ich für mehrere Eingabefelder den gleichen Code (z.B.: Eingabekontrollen, oder max. Werte) kontrollieren.
Danke für die Hilfe.
Danke für die Hilfe.
- __blackjack__
- User
- Beiträge: 13100
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@ossi047: Der Ansatz ist falsch. Mit so einem Verhalten rechnet der Anwender nicht, weil er das nicht kennt. Das was Du willst ist eine ComboBox. Also ein Eingabefeld in das der Benutzer etwas eingeben kann oder aus einer Auswahl von Werten auswählen kann.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Danke für die Antwort, aber leider keine Lösung meines Problems.
Grundsätzlich bin ich selbst der Anwender. Ich will auch keine ComboBox weil das zu unübersichtlich wird. Weiters warum ich die quasi Knöpfe verwende ist, dass diese Möglichkeit auf einen Berührungsbildschirm besser zu bedienen ist.
Grundsätzlich bin ich selbst der Anwender. Ich will auch keine ComboBox weil das zu unübersichtlich wird. Weiters warum ich die quasi Knöpfe verwende ist, dass diese Möglichkeit auf einen Berührungsbildschirm besser zu bedienen ist.