Eingabefelder in der Liste heben sich vom Zeilenstreifen ab

Sein Fund: "bei der anzahl waere ein heller bg oder ein heller rahmen besser".
Die Felder standen auf den Zeilenstreifen und gingen darin unter - man sah
nicht, wo man tippt. Eigener Stil (Liste.TEntry): hellerer Grund, deutlicher
Rahmen, beim Tippen Rahmen und Fuellung in der Akzentfarbe.

Alle 14 Pruefstaende gruen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V4t48uxDok5rJXhC9bX1Ax
This commit is contained in:
TheMockTv 2026-09-05 19:35:11 +02:00
parent a715d1235b
commit 2faf8c1b9a
2 changed files with 17 additions and 2 deletions

6
app.py
View file

@ -461,11 +461,13 @@ class RechnungsApp(ThemeMixin, MeldungMixin, KorrekturMixin, EinstellungenMixin,
zelle(str(nr), 0)
zelle(pos["leistung"], 1, anker="w", umbruch=330)
zelle(str(pos["satz"]), 2)
ttk.Entry(self.pos_frame, textvariable=av, width=8, justify="center").grid(
ttk.Entry(self.pos_frame, textvariable=av, width=8, justify="center",
style="Liste.TEntry").grid(
row=r, column=3, padx=6, pady=4)
# Personen-Feld NUR bei "pro Person"-Positionen anzeigen
if pos["pro_person"]:
ttk.Entry(self.pos_frame, textvariable=pv, width=6, justify="center").grid(
ttk.Entry(self.pos_frame, textvariable=pv, width=6, justify="center",
style="Liste.TEntry").grid(
row=r, column=4, padx=6, pady=4)
zelle(berechnung.eur_kurz(pos["preis"]), 5, anker="e")
g = zelle("0,00", 6, anker="e")

View file

@ -238,6 +238,19 @@ class ThemeMixin:
style.configure("TEntry", fieldbackground=field, foreground=fg, insertcolor=fg,
bordercolor=self.col_line, padding=4)
style.map("TEntry", bordercolor=[("focus", accent)])
# Die Felder IN der Leistungsliste stehen auf den Zeilenstreifen und
# gingen darin unter - man sah nicht, wo man tippt. Sie bekommen einen
# helleren Grund und einen deutlichen Rahmen, beim Tippen den Akzent.
listenfeld = mischen("#ffffff", self.col_card, 0.10)
listenrand = mischen("#ffffff", self.col_card, 0.28)
style.configure("Liste.TEntry", fieldbackground=listenfeld, foreground=fg,
insertcolor=fg, bordercolor=listenrand,
lightcolor=listenrand, darkcolor=listenrand,
relief="solid", borderwidth=1, padding=4)
style.map("Liste.TEntry",
bordercolor=[("focus", accent)], lightcolor=[("focus", accent)],
darkcolor=[("focus", accent)],
fieldbackground=[("focus", mischen(accent, self.col_card, 0.10))])
# Bei state="readonly" zeichnet die Combobox ihren Text als MARKIERUNG,
# sobald sie den Fokus hat - ohne diese beiden Farben steht der Wert
# unsichtbar im Feld.