Mehrere Eingabefelder in einer zeile
Verfasst: Freitag 6. September 2024, 09:59
Untenstehender Code ist nur ein unvollständiger Anfang. Ich brauche mehrere Zeilen mit mehreren Eingabefeldern. Die Felder jeder Zeile gehören zusammen und sind als Liste gespeichert. Aktiv momentan nur die erste Zeile.
So werden es aber zwei Zeilen, wie bekomme ich es hin, dass es nur eine Zeile je Liste wird.
Danke
Gruß
Rainer
Code: Alles auswählen
# Formular zum Erstellen und Ändern der CAN Knoten Konfiguration
# created 06.09.2024 by Rainer Müller-Knoche
from dataclasses import field
from tkinter import *
# byte 0,1
address_fields = 'nodeID', 'groupID'
# byte 2-4
config_fields = 'type', 'port_1', 'port_2'
# 5-10 click, 11-16 double click, 17-22 long click, 23-28 while click n/a
function_fields = 'clickType', 'targetID', 'targetGID', 'targetPort', 'targetAction', 'sourceGID'
# 29-55 Taster 2, 56-82 Taster 3, 83-109 Taster 4
# def fetch
def makeform(root, fields):
entries = []
for field in fields:
row = Frame(root)
lab = Label(row, width=2, text=field, anchor='w')
ent = Entry(row)
row.pack(side=TOP, fill=X, padx=5, pady=5)
lab.pack(side=LEFT)
ent.pack(side=RIGHT, expand=YES, fill=X)
entries.append((field, ent))
return entries
if __name__ == '__main__':
root = Tk()
ents = makeform(root, address_fields)
# root.bind('<Return>', (lambda event, e=ents:))
b1 = Button(root, text='Show')
b1.pack(side=LEFT, padx=5, pady=5)
b2 = Button(root, text='Quit', command=root.quit)
b2.pack(side=LEFT, padx=5,pady=5)
root.mainloop()
So werden es aber zwei Zeilen, wie bekomme ich es hin, dass es nur eine Zeile je Liste wird.
Danke
Gruß
Rainer