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