Entry mit Radiobutton

Fragen zu Tkinter.
Antworten
ossi047
User
Beiträge: 46
Registriert: Donnerstag 19. Dezember 2019, 15:57

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.
__deets__
User
Beiträge: 14536
Registriert: Mittwoch 14. Oktober 2015, 14:29

Bitte zeig den Code den du schon hast. Dazu bitte die Code Tags benutzen. Im vollstaendigen Editor den </>-Knopf druecken, nachdem man den Quelltext markiert hat.
Sirius3
User
Beiträge: 17747
Registriert: Sonntag 21. Oktober 2012, 17:20

Dafür benutzt man Schleifen. Ohne konkreten Code kann man da nicht mehr zu sagen.
ossi047
User
Beiträge: 46
Registriert: Donnerstag 19. Dezember 2019, 15:57

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()
Sirius3
User
Beiträge: 17747
Registriert: Sonntag 21. Oktober 2012, 17:20

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.
ossi047
User
Beiträge: 46
Registriert: Donnerstag 19. Dezember 2019, 15:57

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.
Benutzeravatar
__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
ossi047
User
Beiträge: 46
Registriert: Donnerstag 19. Dezember 2019, 15:57

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.
Antworten