gtk-Window schliessen

Programmierung für GNOME und GTK+, GUI-Erstellung mit Glade.
Gesperrt
Gast

Mittwoch 26. Oktober 2005, 09:32

Hallo alle zusammen,

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()
mit gtk.main_quit schliest sich alles jedoch soll diies verhindert werden.
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
BuzzDee220
User
Beiträge: 1
Registriert: Mittwoch 26. Oktober 2005, 09:15
Wohnort: Neustrelitz

Mittwoch 26. Oktober 2005, 09:42

ups das daoben war ich^^hab vergessen mich einzuloggen... :oops:

...WARNUNG....dieser beitrag is fertig^^
hab das prob mit nem dialog fenster gelöst^^
hab ich auch in diesem forum gefundne ich danke euch trotzdem^^ :lol:
-= Der Buzz mit dem BuzzMobil:D=-

-----------=so lthis is STAN=--------------
Gesperrt