Oop: -methode grid / automatisches ausführen von cmd / Hilfe
Verfasst: Sonntag 10. März 2013, 21:58
Hallo,
erstmal großes Lob an das Forum hier man bekommt gute Tipps
.
Nun zum Problem, ich habe mich nun mal an Oop gemacht und stoße auf folgende Probleme:
- Wenn ich .grid() benutze öffnet sich das Tkinter Fenster überhaupt nicht mehr
- Wenn ich das Programm ausführe wird automatisch der command vom Button ausgeführt
Das Ergebnis:
Mein Code sieht so aus:
Würde auch nicht schaden wenn ihr mir so Tipps geben würdet 
LG
Astraioz
erstmal großes Lob an das Forum hier man bekommt gute Tipps

Nun zum Problem, ich habe mich nun mal an Oop gemacht und stoße auf folgende Probleme:
- Wenn ich .grid() benutze öffnet sich das Tkinter Fenster überhaupt nicht mehr
- Wenn ich das Programm ausführe wird automatisch der command vom Button ausgeführt
Das Ergebnis:
Code: Alles auswählen
Benutzer oder Passwort falsch
Code: Alles auswählen
import Tkinter as tk
import sqlite3 as sql
connection = sql.connect('database.db')
cursor = connection.cursor()
def query(cmd):
cursor.execute(cmd)
query('CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY,name CHAR[30],password CHAR[30],score TEXT)')
class LoginUI(object):
def __init__(self, master):
self.master = master
self.master.geometry('300x150')
self.welcome_label = tk.Label(master, text='Willkommen')
self.welcome_label.pack(side=tk.TOP)
self.entry1_text = tk.Label(master, text='Benutzername: ')
self.entry1_text.pack()
self.entry1 = tk.Entry(master, bg="#C0C0C0")
self.entry1.pack()
self.entry2_text = tk.Label(master, text='Passwort: ')
self.entry2_text.pack()
self.entry2 = tk.Entry(master, bg="#C0C0C0")
self.entry2.pack()
self.login_button = tk.Button(master, text='Login', command=self.login(self.entry1, self.entry2))
self.login_button.pack()
self.close_button = tk.Button(master, text='Quit', command=master.destroy)
self.close_button.pack()
def login(self, entry1, entry2):
self.username = entry1.get()
self.passwort = entry2.get()
query('SELECT password FROM users WHERE name = "'+self.username+'"')
self.password = cursor.fetchall()
if self.password == self.passwort:
print 'Erfolgreich eingeloggt'
else:
print 'Benutzer oder Passwort falsch'
self.entry1['bg'] = '#FF0000'
self.entry2['bg'] = '#FF0000'
def main():
root = tk.Tk()
login = LoginUI(root)
root.mainloop()
if __name__ == '__main__':
main()

LG
Astraioz