Boa tarde!
Estou com um problema, o que meu proposito e fazer um login e assim que logado entrar na área das funções do usuário(está parta das funções esta ok), o login está puxando ja do banco, porem o meu problema é com que ele entre na parta das funções do usuário. Estou fazendo interface gráfica com Tkinter.
O erro diz o seguinte:
return self.func(*args)
File "app.py", line 77, in verificaSenha
self.usuario = Users()
TypeError: __init__() takes exactly 2 arguments (1 given)
Já botei argumentos, mas não sei quais são, tudo continua no erro, queria saber se é nesse caminho ou tem mais fácil. Detalhe estou importando o meu outro arquivo onde esta as funções.
from Tkinter import *
import ttk
import sqlite3
import serial
from banco import Banco
from user import Users
class loginUser:
db_name = 'banco.db'
def __init__(self, window, master=None):
# Criando nome do sistema
self.wind = window
self.wind.title('System F2T')
self.fontePadrao = ("Arial", "10")
self.primeiroContainer = Frame(master)
self.primeiroContainer["pady"] = 10
self.primeiroContainer.pack()
self.segundoContainer = Frame(master)
self.segundoContainer["padx"] = 20
self.segundoContainer["pady"] = 5
self.segundoContainer.pack()
self.terceiroContainer = Frame(master)
self.terceiroContainer["padx"] = 20
self.terceiroContainer["pady"] = 5
self.terceiroContainer.pack()
self.quartoContainer = Frame(master)
self.quartoContainer["pady"] = 20
self.quartoContainer.pack()
self.titulo = Label(self.primeiroContainer, text="Informe seu dados")
self.titulo["font"] = ("Arial", "10", "bold")
self.titulo.pack()
self.userLabel = Label(self.segundoContainer,text="Digite seu user:", font=self.fontePadrao, width=15)
self.userLabel.pack(side=LEFT)
self.user = Entry(self.segundoContainer)
self.user["width"] = 15
self.user["font"] = self.fontePadrao
self.user.pack(side=LEFT)
self.senhaLabel = Label(self.terceiroContainer, text="Digite sua Senha:", font=self.fontePadrao, width=15)
self.senhaLabel.pack(side=LEFT)
self.senha = Entry(self.terceiroContainer)
self.senha["width"] = 15
#self.senhaLabel.grid (row=0,column=1 )
self.senha["font"] = self.fontePadrao
self.senha["show"] = "*"
self.senha.pack(side=LEFT)
self.autenticar = Button(self.quartoContainer)
self.autenticar["text"] = "Autenticar"
self.autenticar["font"] = ("Calibri", "8")
self.autenticar["width"] = 12
self.autenticar["command"] = self.verificaSenha
self.autenticar.pack()
self.mensagem = Label(self.quartoContainer, text="", font=self.fontePadrao)
self.mensagem.pack()
#Metodo verificar senha
def verificaSenha(self):
with sqlite3.connect("banco.db") as db:
cursor = db.cursor()
find_user = ('SELECT * FROM users WHERE user = ? AND senha = ?')
cursor.execute(find_user,[(self.user.get()),(self.senha.get())])
results = cursor.fetchall()
if results:
self.mensagem["text"] = "Autenticado"
self.usuario = Users()
else:
self.mensagem["text"] = "Erro na autenticacao"
if __name__ == '__main__':
window = Tk()
loginUser(window)
window.mainloop()
arduino = serial.Serial('COM5',9600,timeout=2)
arduino.read_until('\n')