ich bin neu hier und in der Prog-Languade Python.
ich kenne schon die Seiten www.pygtk.org und www.python.org
hab jedoch folgendes problem, bei denen ihr mir hoffenltich helfen könnt.
ich will eine Passwortabfrage machen jedoch ist diese nicht alzu einfach...
ich hab soweit alles hin bekommen einzig und alleine ist das Problem das
ich wenn ich den verkehrten user namen und das verkehrte PW eingeben
das sich ein neues fenster öffnet wo drin steht access denied... und in diesem
window gibt es nur einen button [ok]. wenn man diesen dann klickt soll sich nur
das grade geöffnete 2. fenster wieder schliessen.
hier mal der code^^
Code: Alles auswählen
#!/usr/bin/python
import gtk
def exit_main(*voidObj):
gtk.main_quit()
def exit_window(voidObj,close_win):
close_win.destroy()
def login(text):
Pw = label_EntryPw.get_text()
NickName = label_EntryNickName.get_text()
if NickName == "user" and Pw == "login":
exit()
else:
WARNING=gtk.Window()
WARNING.set_title("WARNING")
WARNING.connect("destroy", exit_main)
WARNING.set_size_request(100,50)
table = gtk.Table(2,1,gtk.FALSE)
WARNING.add(table)
label_WARNING =gtk.Label("Access denied")
table.attach(label_WARNING,0,1,0,1,0,0,2,2)
# Buttom OK
button=gtk.Button("OK")
button.connect("clicked", exit_window,WARNING)
table.attach(button,0,1,1,2,0,0,0,0)
WARNING.show_all()
# Fenster öffnen
BuzzFenster=gtk.Window()
BuzzFenster.set_title("AccessScreen")
BuzzFenster.connect("destroy", exit_main)
BuzzFenster.set_size_request(350,120)
# Tabelle einfügen
table = gtk.Table(4,1,gtk.FALSE)
BuzzFenster.add(table)
# NickName vor Feld
label_Name = gtk.Label("NickName:")
table.attach(label_Name,0,1,0,1,0,0,2,2)
# Reg.-Code vor Feld
label_Pw = gtk.Label("Reg.-Code:")
table.attach(label_Pw,0,1,1,2,0,0,2,2)
# leeres Feld oben
label_EntryNickName =gtk.Entry() # erzeugt leeres Feld
label_EntryNickName.set_max_length(20)
table.attach(label_EntryNickName,1,2,0,1,0,0,2,2)
# leeres Feld unten
label_EntryPw =gtk.Entry()
label_EntryPw.set_max_length(20)
label_EntryPw.set_visibility(0) # 0= passwort nur sternchen sichtbar 1= alles sichtbar
table.attach(label_EntryPw,1,2,1,2,0,0,2,2)
# Button login
button=gtk.Button("LogIn")
button.connect("clicked", login)
table.attach(button,0,1,2,3,0,0,0,0)
# Buttom ShutDown
button=gtk.Button("ShutDown")
#button.connect("clicked", auswahl_anzeigen)
table.attach(button,1,2,2,3,0,0,0,0)
# Author
label_credits = gtk.Label("Created by BuzzDee220 feat. 5mirn0ff")
table.attach(label_credits,0,2,3,4,0,0,2,2)
BuzzFenster.show_all()
gtk.mainloop()
wir haben auch schon gedacht wenn sich alles schliest das sich das erste fenster
wieder neu öffnet jedoch will ich das alte beibehalten.
wie man sehen kann hab ich ein problem, ich weis nicht ob da so richtig ist,
beim button.connect("clicked", exit_window,WARNING) den weert des fenster an
die def (funktion) exit_window übergeben jedoch zertört er wieder alles...
das ist das gleiche wie bei gtk.main_quit habt iihr eine idee??
MFG