Seite 1 von 1

Tkinter show/hide password

Verfasst: Samstag 31. März 2018, 15:51
von MupfSpace
Hallo :D
ich bin gerade dabei mit Python ein Spiel zu programmieren und bin gerade beim Login
ich möchte dass neben dem Passwort-Entry ein auge ist dass wen man es anklick zu einem durchgestrichenen auge wird und das passwort sichtbar macht.

ich bekommen dabei einen error wenn ich auf dass auge klicke. :K

hier der Error:

Code: Alles auswählen

Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Python34\lib\tkinter\__init__.py", line 1533, in __call__
    return self.func(*args)
  File "C:\Users\MupfPlay\Desktop\Mathe_Spiel\Game\Source\main.pyw", line 121, in show_hide
    show_hide_PP.configure(image = hidePP)
  File "C:\Python34\lib\tkinter\__init__.py", line 1319, in configure
    return self._configure('configure', cnf, kw)
  File "C:\Python34\lib\tkinter\__init__.py", line 1310, in _configure
    self.tk.call(_flatten((self._w, cmd)) + self._options(cnf))
_tkinter.TclError: image "<PIL.PngImagePlugin.PngImageFile image mode=RGBA size=12x12 at 0x925FE80>" doesn't exist
und hier der code teil:

Code: Alles auswählen

def show_hide(self):
        global showHide_Var
        if showHide_Var == ("ICOshow"):
            show_hide_PP.configure(image = hidePP)
        else:
            show_hide_PP.configure(image = showPP)

    showPP = Image.open("../../recources/bilder/showPassPort.png")
    hidePP = Image.open("../../recources/bilder/hidePassPort.png")
    showPasswordIMG = ImageTk.PhotoImage(showPP)
    hidePasswordIMG = ImageTk.PhotoImage(hidePP)
    show_hide_PP = Label(login, image = showPasswordIMG)
    show_hide_PP.bind("<Button-1>", show_hide)
    show_hide_PP.place(x="400", y="251.75")
Danke für hilfe :roll:

Re: Tkinter show/hide password

Verfasst: Sonntag 1. April 2018, 08:21
von Sirius3
@MupfSpace: vergiss dass es »global« gibt, Du scheinst ja sowieso irgendwas mit Klassen zu machen. Achnee, das `self` ist eigentlich das `event`-Argument von bind. Trotzdem, vergiss, dass es »global« gibt und mach was mit Klassen. Recources wie Bilder sollten immer relativ zu einem wie auch immer bestimmten Verzeichnis stehen, meist irgendwas relativ zu einer Python-Datei, deren Pfad man mit __file__ ermittelt. Schau welche Imagevariable Du beim Erzeugen des Labels benutzt und was Du bei »configure« versuchst.

Re: Tkinter show/hide password

Verfasst: Sonntag 1. April 2018, 13:22
von MupfSpace
Danke Schön :D
hat funktioniert