die ganze Geschichte in OOP in Python is doch bissl komplizierter als ich dachte.
In PHP war es für mich leichter zu verstehen wie OOP dort funktioniert als in Python.
Ich wollte erstmal das Login Formular/Skript/Programm oder wie man es
auch immer nennen umsetzen, was bis jetzt auch funktioniert.
Sprich Formular/Skript/Programm wird aufgerufen.
Die Eingabefelder sind da, Beschriftung und zwei Buttons für Login und Schließen.
Schließen funktioniert ohne zu meckern und auch sonst bekomm ich keine Fehler.
Ich wollte mir per "print" mir das ausgeben lassen was ich in die Eingabefelder eingegeben
habe nur leider bekomm ich keine Ausgabe in der Konsole, sprich kein Zeichen. Bleibt einfach leer
Hier der Code dazu:
Code: Alles auswählen
__author__ = 'gast'
from gi.repository import Gtk
from gi.repository import Pango
import tkinter
import tkinter.ttk
import tkinter.messagebox
import psycopg2
from tkinter import *
from tkinter.ttk import *
import os
root = Tk()
root.title('WBS')
class Application(Frame):
def __init__(self, master):
Frame.__init__(self, master)
self.grid()
self.login()
self.layout()
def layout(self):
Button(text = "Login", command = self.login).grid(row=5, column=0, sticky=NSEW, pady=4)
Button(text='Schließen', command = self.master.quit).grid(row=5, column=1, sticky=NSEW, pady=4)
def login(self):
root.protocol("WM_DELETE_WINDOW", self.master.quit)
connection = psycopg2.connect("dbname=sqltest")
cursor = connection.cursor()
Label(text="Username", font="Helvetica 13 bold").grid(row=4, column=0, pady=5, padx=5)
Label(text="Passwort", font="Helvetica 13 bold").grid(row=4, column=1, pady=5, padx=5)
benutzername = Entry(font=10)
benutzername.grid(row=3, column=0, padx=5, pady=5)
passwort = Entry(font=10, show="******")
passwort.grid(row=3, column=1, padx=5, pady=5)
cursor.execute("SELECT * FROM mitarbeiter WHERE loginname = %s AND passwort = %s ", (benutzername.get(), passwort.get()))
row = cursor.fetchone()
print(benutzername.get())
print(passwort.get())
# benutzername.delete(0, END)
# passwort.delete(0, END)
# if row is not None:
# self.master = Frame(root, name='master') # create Frame in "root"
# self.master.pack(fill=BOTH) # fill both sides of the parent
# self.nb = Notebook(self.master, name='nb', width=1200, height=450) # create Notebook in "master"
# self.nb.grid(row=6, column=2) # fill "master" but pad sides
#
# #Tab Master hinzufügen
# self.tab_kunde_neu = Frame(self.nb, name='tab-kunde-neu')
# self.nb.add(self.tab_kunde_neu, text="Kunde (neu)")
# self.tab_kunde = Frame(self.master, name='tab-kunde')
# self.nb.add(self.tab_kunde, text="Kunde")
# self.tab_vermittler_neu = Frame(self.nb, name='tab-vermittler-neu')
# self.nb.add(self.tab_vermittler_neu, text="Vermittler (neu)")
# self.tab_vermittler = Frame(self.nb, name='tab-vermittler')
# self.nb.add(self.tab_vermittler, text="Vermittler")
app = Application(root)
root.mainloop()
Liegt es daran das die Eingabe nach dem drücken des Login-Buttons gelöscht wird bevor
überhaupt die Eingabe ausgegeben werden kann oder wird die Eingabe gar nicht erst
"zwischengespeichert" ?