Seite 1 von 1

Checkbox Passwort anzeigen/ausblenden

Verfasst: Sonntag 18. Oktober 2020, 14:07
von rockst4rr277
Hallo,

ich bastel grad an einer checkbox die in meiner GUI die Entry fürs Passwort zu Sternchen:"****" macht.
Um die Funktionalität der "def" zu überprüfen habe ich "print" befehle hinzugefügt.
die print befehle werden ausgeführt, leider wird die pw anzeige nicht geändert.

kann mir jmd sagen was ich falsch mache?
Vielen Dank für eure Hilfe.

PS: Ich bin noob, also bitte sehr einfach formulieren, danke!!!! :D
---------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------------

from tkinter import *
window = Tk()


def wechselanzeige():
if (x.get()==1):
entry_pw = Entry(window, show="")
print("xxx")
else:
entry_pw = Entry(show="*")
print("yyy")


label_pw = Label(text="und hier dein Passwort:")
entry_pw = Entry(window,show="*",width=50)
label_pw.pack()
entry_pw.pack()


x = IntVar()
checkbox = Checkbutton(window, text='Passwort anzeigen', variable=x, onvalue=1, offvalue=0, command=wechselanzeige)
checkbox.pack()


window.mainloop()

Re: Checkbox Passwort anzeigen/ausblenden

Verfasst: Sonntag 18. Oktober 2020, 14:32
von Sirius3
Benutze keine *-Importe und keine globalen Variablen.
`x` sagt gar nichts über den Inhalt der Variable. Benutze aussagekräftige Namen.
Du willst keine neuen Entry-Objekte erzeugen, sondern ein bestehendes verändern.

Code: Alles auswählen

import tkinter as tk
from functools import partial

def wechselanzeige(password_entry, show_password):
    password_entry['show'] = "" if show_password.get() else "*"

def main():
    window = tk.Tk()
    show_password = tk.IntVar(window)
    tk.Label(window, text="und hier dein Passwort:").pack()
    password_entry = tk.Entry(window, show="*", width=50)
    password_entry.pack()
    tk.Checkbutton(window, text='Passwort anzeigen', variable=show_password, onvalue=1, offvalue=0,
        command=partial(wechselanzeige, password_entry, show_password)).pack()
    window.mainloop()

if __name__ == '__main__':
    main()

Re: Checkbox Passwort anzeigen/ausblenden

Verfasst: Montag 19. Oktober 2020, 15:43
von rockst4rr277
Danke für deine Hilfe :)