-
Total de itens
18 -
Registro em
-
Última visita
Sobre Pedro Vidal
Pedro Vidal's Achievements
0
Reputação
-
Bom, eu achei um código em que uma certa mensagem é mandada por wifi, porém essa mensagem está sendo enviada quando uma função é chamada pelo código, e não consigo enviar as variáveis que mudam constantemente do meu void loop para o void onWsEvent (função que está o envio da mensagem). Gostaria de aprender alguma solução para isso, pois preciso que uma informação diferente seja mandada a todo momento, coisa que o código original não é capaz de fazer. Minhas hipóteses são "globalizar" a variável ou tirar o envio da mensagem da rotina e colocar dentro do próprio void loop. Espero de coração que tenha dado pra entender o problema, e o código atual estará abaixo: #include <WiFi.h> #include "ESPAsyncWebServer.h" const char* ssid = "nome_da_rede"; const char* password = "senha_da_rede"; AsyncWebServer server(80); AsyncWebSocket ws("/ws"); void onWsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventType type, void * arg, uint8_t *data, size_t len){ if(type == WS_EVT_CONNECT){ Serial.println("Websocket client connection received"); client->text("Hello from ESP32 Server"); } else if(type == WS_EVT_DISCONNECT){ Serial.println("Client disconnected"); } } void setup(){ Serial.begin(115200); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("Connecting to WiFi.."); } Serial.println(WiFi.localIP()); ws.onEvent(onWsEvent); server.addHandler(&ws); server.begin(); } void loop(){}
-
Então, tenho um projeto em que preciso enviar informações do meu código c++ para um código java script, para logo mais printar essa código em uma página html. Alguém sabe uma forma de realizar isso?
-
Não consigo utilizar o DOM da forma correta.
pergunta respondeu ao Pedro Vidal de Pedro Vidal em Repositório de Scripts - Ajax, JS, XML, DOM
Po então, primeiramente vlw pela resposta Eu alterei no codigo e deixei as duas variáveis identicas, mas mesmo assim o valor no site não é alterado. Tem alguma outra ideia do que podee estar acontendo? -
Bom, eu tenho um projeto de alterar os valores de uma tabela de acordo com uma variável e cheguei ao DOM. Porém, o código não funciona do jeito que deveria, parece até que não está lendo a parte do js. Bom, adoraria uma ajuda e deixarei o codigo completo abaixo: <!doctype html> <html> <head> <meta charset="utf-8"> <title> LAYOUT TABELA PRO TCC </title> </head> <style> body{background-color: #fff} *{font-family: arial; } caption{font-size: 1.2em; font-family: "Arial"; color: #32304f;} table{width: 100%; text-align: center; border-collapse: collapse;} td, th {border: 2px solid #000;} th{background-color:#fff solid; color:#7e2d7e;} td{color: #000; background-color: #ded9ff; height: 30px;} th{ color: #fff; background-color: #484677; font-family: "Arial"; height: 50px;} </style> <script> function myFunction() { let text = "thats my year"; document.getElementById("Valor").innerHTML = text; </script> <body> <table id="tabela"> <caption> <b> TABELA PADRÃO PARA O PROJETO DOS GRUPOS </b> </caption> <tr> <th> Sensores / Atuadores </th> <th> Valores obtidos </th> </tr> <tr> <td> Sensor1 </td> <td id="valor"> Valor1 </td> </tr> <tr> <td> Sensor2 </td> <td> Valor2 </td> </tr> <tr> <td> Sensor3 </td> <td> Valor3 </td> </tr> <tr> <td> Sensor4 </td> <td> Valor4 </td> </tr> </table> <button type="button" onclick="myFunction()">Try it</button> </body> </html>
-
é que o objetivo dessa volta é realmente mostrar a janela de volta, já que essa janela seria como se fosse o acesso para varias outras diferentes, então o usuario tem que conseguir voltar para essa tela para acessar todos os menus e opções, como se fosse uma tela inicial. Aí não sei se apenas salvar a informação adiantaria de alguma coisa
-
Pedro Vidal alterou sua foto pessoal
-
consegui!! foi de um jeito meio xoxo, mas nesse comentario seu "criando um novo elemento", me veio na mente que era mais facil so deixar o fundo da minha imagem igual ao fundo que teria c fosse transparente Não sei se pode fazer isso, mas aproveitando para tirar outra duvida.. Teria algum jeito de reabrir uma janela? Pois com o destroy não é possivel fazer isso ne? Codigo atual ta embaixo, e a linha que quero que ocorra o comando ta com um comentario do lado from tkinter import * import serial #'listas' com os logins e senhas usuario_br = 'bruno' senha_br = '1234' #local para onde enviaremos os sinais arduinoData = serial.Serial('com4', 9600) def login(): sphynx.destroy() login_sphynx = Tk() login_sphynx.title("Sphynx") login_sphynx.geometry("300x600") login_sphynx.resizable(False, False) usuario = StringVar() senha = StringVar() img_erro = PhotoImage(file="msgerro_improviso.png") img_botao_login = PhotoImage(file="sphynx_botao_login.png") img_fundo_login = PhotoImage(file="sphynx_fundo_login.png") lab_inicio_login = Label(login_sphynx, image=img_fundo_login) lab_inicio_login.place(x=0, y=0) en_usuario = Entry(login_sphynx, bd=2, textvariable=usuario) en_usuario.place(width=250, height=50, x=27, y=270) en_senha = Entry(login_sphynx, bd=2, textvariable=senha, show="*") en_senha.place(width=250, height=50, x=27, y=390) bt_login = Button(login_sphynx, image=img_botao_login, bd=0, command=lambda: verificacao(login_sphynx, img_erro, usuario, senha)) bt_login.place(width=200, height=100, x=50, y=470) return login_sphynx() def verificacao(login_sphynx, img_erro, usuario, senha): str_usuario = usuario.get() str_senha = senha.get() if str_usuario in usuario_br and str_senha in senha_br: print("Login realizado com sucesso!") login_sphynx.destroy() salas() else: login_erro = Label(login_sphynx, image=img_erro, bd=0) login_erro.place(x=50, y=220) def salas(): salas_sphynx = Tk() salas_sphynx.title("Sphynx") salas_sphynx.geometry("300x600") salas_sphynx.resizable(False, False) img_fundo_salas = PhotoImage(file="sphynx_fundo_salas.png") img_salas_lab1 = PhotoImage(file="sphynx_sala_lab1.png") lab_inicio_salas = Label(salas_sphynx, image=img_fundo_salas) lab_inicio_salas.place(x=0, y=0) bt_salas_lab1 = Button(salas_sphynx, image=img_salas_lab1, bd=0, command=lambda: lab1(salas_sphynx)) bt_salas_lab1.place(width=250, height=75, x=28, y=300) return salas_sphynx() def lab1(salas_sphynx): salas_sphynx.destroy() lab1_sphynx = Tk() lab1_sphynx.title("Sphynx") lab1_sphynx.geometry("500x300") lab1_sphynx.resizable(False, False) img_fundo_lab1 = PhotoImage(file="sphynx_fundo_lab1.png") lab_fundo_lab1 = Label(lab1_sphynx, image=img_fundo_lab1) lab_fundo_lab1.place(x=0,y=0) bt_abrir = Button(lab1_sphynx, background="green", command=abrir) bt_abrir.place(width=250, height=75, x=130, y=100) bt_fechar = Button(lab1_sphynx, background="red", command=fechar) bt_fechar.place(width=250, height=75, x=130, y=200) bt_voltar = Button(lab1_sphynx, background="white", command=salas_sphynx) #botao que eu desejo que volte para a aba anterior bt_voltar.place(width=250, height=75, x=130, y=50) return lab1_sphynx() def abrir(): arduinoData.write(b'1') def fechar(): arduinoData.write(b'0') sphynx = Tk() sphynx.title("Sphynx") sphynx.geometry("500x300") sphynx.resizable(False, False) sphynx.iconphoto(True, PhotoImage(file="sphynx.png")) #importar as imagens img_banner = PhotoImage(file="sphynx_banner.png") #labels lab_inicio = Label(sphynx, image=img_banner) lab_inicio.pack() sphynx.after(2000, login) sphynx.mainloop()
-
opa, perdao por não deixar claro. A mudança é realizada na função "def verificação", mais especificamente na parte do "else", que é onde aparece o Label com a imagem de erro no login. Eu até criei o arquivo zip, mas pelo visto o site não aceita
-
Bom, em meu codigo eu necessitava trocar o fundo do aplicativo de acordo com uma condição. Porém, o novo fundo está sendo carregado na frente de todos os Entry, coisa que não é para acontecer. Alguém saberia como colocar esse novo fundo para realmente o fundo do app? Código abaixo e agradeço pela ajuda!! (Também adoraria saber se teria algum jeito de fazer o tkinter trabalhar com imagens de fundo transparente, já que importei um png, mas ele interpreta como se fosse um fundo branco) from tkinter import * import serial #listas com os logins e senhas usuario_br = 'bruno' senha_br = '1234' #local para onde enviaremos os sinais #arduinoData = serial.Serial('com4', 9600) def led_on(): #arduinoData.write(b'1') print("LED ligado") def led_off(): #arduinoData.write(b'0') print("LED desligado") def login(): sphynx.destroy() login_sphynx = Tk() login_sphynx.title("Sphynx") login_sphynx.geometry("300x600") usuario = StringVar() senha = StringVar() img_fundo_login = PhotoImage(file="sphynx_fundo_login.png") img_botao_login = PhotoImage(file="sphynx_botao_login.png") img_erro = PhotoImage(file="sphynx_fundo_login_erro.png") lab_inicio_login = Label(login_sphynx, image=img_fundo_login) lab_inicio_login.place(x=0, y=0) en_usuario = Entry(login_sphynx, bd=2, textvariable=usuario) en_usuario.place(width=250, height=50, x=27, y=270) en_senha = Entry(login_sphynx, bd=2, textvariable=senha, show="*") en_senha.place(width=250, height=50, x=27, y=390) bt_login = Button(login_sphynx, image=img_botao_login, bd=0, command=lambda: verificacao(login_sphynx, lab_inicio_login, img_erro, usuario, senha)) bt_login.place(width=200, height=100, x=50, y=470) return login_sphynx() def verificacao(login_sphynx, lab_inicio_login, img_erro, usuario, senha): str_usuario = usuario.get() str_senha = senha.get() if str_usuario in usuario_br and str_senha in senha_br: print("Dale deli doli!!") else: lab_inicio_login.destroy() login_erro = Label(login_sphynx, image=img_erro) login_erro.place(x=0, y=0) sphynx = Tk() sphynx.title("Sphynx") sphynx.geometry("500x300") sphynx.iconphoto(True, PhotoImage(file="sphynx.png")) #importar as imagens img_banner = PhotoImage(file="sphynx_banner.png") #labels lab_inicio = Label(sphynx, image=img_banner) lab_inicio.pack() sphynx.after(2000, login) sphynx.mainloop()
-
Bom, em meu projeto eu preciso enviar informações do meu celular para o meu microcontrolador utilizando o bluetooth. Porém, não faço ideia de como realizar esse processo, e os únicos tutoriais que encontro são pessoas fazendo isso com aplicativos da play store, e conectando eles ao microcontrolador, coisa que não é meu objetivo. Alguém ai consegue me ajudar? Como primeiro código, eu gostaria de ligar ou desligar um led pelo meu celular. Se alguém souber como é o procedimento, adoraria uma ajuda!!
-
Voltando aqui, eu tentei aplicar no meu código, mas não funcionou. Ele acaba aplicando esse tempo na própria abertura da janela, e não no aparecimento dos Labels lab_op_val = Label(proc_manual, text="sim") lab_op_val.place(x=200, y=400) proc_manual.after(1000) lab_ed_val = Label(proc_manual, text="não") lab_ed_val.place(x=200, y=600)
-
Ok, então ficaria tipo: lab = Label(janela,text="ex") janela.after(2000) lab2 = Label(janela,text="ex2") Desse jeito?
-
Opa, desenvolvendo meu projeto percebi que teria que usar sleep para fazer textos aparecerem na janela em determinado tempo, pesquisei e vi que eles definem o que vai ter no Label em outro local do programa e utilizam o sleep lá, em vez de utilizar na própria janela. Tentei aplicar isso no meu código, mas falhei miseravelmente, adoraria uma ajuda com esse problema :)) Abaixo está todo o código. from tkinter import * from time import sleep import pandas as pd def fim(): exit() return def metodo(): inicio.destroy() metodo = Tk() metodo.title("PROJETO LIQUI") metodo.geometry("400x800") #imagens img_metodo = PhotoImage(file="escmetodo.png") img_auto = PhotoImage(file="botaopadrao.png") img_manual = PhotoImage(file="botaomanual.png") #labels lab_metodo = Label(metodo, image=img_metodo) lab_metodo.pack() #botoes bt_manual = Button(metodo, image=img_manual, command=lambda: manual(metodo)) bt_manual.place(width=300, height=100, x=55, y=350) bt_auto = Button(metodo, image=img_auto, command=lambda: auto(metodo)) bt_auto.place(width=300, height=100, x=55, y=550) return metodo() def auto(metodo): metodo.destroy() b2 = open("escpersonalizado.txt", "r") agua = float(b2.readline()) sal = float(b2.readline()) far = float(b2.readline()) return auto(metodo) def manual(metodo): metodo.destroy() manual = Tk() manual.title("PROJETO LIQUI") manual.geometry("400x800") #variaveis agua = DoubleVar() sal = DoubleVar() far = DoubleVar() #imagens img_medidas = PhotoImage(file="medidastcc.png") img_botao_ok = PhotoImage(file="botaosim.png") img_botao_salvar = PhotoImage(file="botaosalvar.png") #labels lab_medidas = Label(manual, image=img_medidas) lab_medidas.pack() #entrada de dados en_agua = Entry(manual, bd=2, textvariable=agua) en_agua.place(width=339, height=50, x=32, y=322) en_sal = Entry(manual, bd=2, textvariable=sal) en_sal.place(width=339, height=50, x=32, y=449) en_far = Entry(manual, bd=2, textvariable=far) en_far.place(width=339, height=50, x=32, y=584) #botoes bt_ok = Button(manual, image=img_botao_ok, command=lambda: proc_manual(manual,agua,sal,far)) bt_ok.place(width=150, height=100, x=35, y=650) bt_padrao = Button(manual, image=img_botao_salvar, command=lambda: salvar(manual, agua, sal, far)) bt_padrao.place(width=150, height=100, x=220, y=650) return manual(metodo) def salvar(manual, agua, sal, far): f_agua = agua.get() f_sal = sal.get() f_far = far.get() if f_agua > 100 or f_sal > 100 or f_far > 100: manual.destroy() erro() else: b1 = open("escpersonalizado.txt", "w") b1.write("{}\n{}\n{}".format(f_agua, f_sal, f_far)) return def text_proc(): lab_op_val['text'] = "ABERTURA DAS VALVULAS" return def proc_manual(manual,agua,sal,far): f_agua = agua.get() f_sal = sal.get() f_far = far.get() if f_agua > 100 or f_sal > 100 or f_far > 100: manual.destroy() erro() else: text_proc() manual.destroy() proc_manual = Tk() proc_manual.title("LIQUI") proc_manual.geometry("400x800") #imagens img_proc = PhotoImage(file="proctcc.png") #labels lab_proc = Label(proc_manual,image=img_proc) lab_proc.pack() lab_op_val = Label(proc_manual, text="") lab_op_val.place(x=200, y=400) return proc_manual() def erro(): erro = Tk() erro.title("ERRO") erro.geometry("400x800") #imagens img_erro = PhotoImage(file="erro.png") img_sair = PhotoImage(file="botaosair.png") #labels lab_erro = Label(erro, image=img_erro) lab_erro.pack() #botoes bt_sair = Button(erro, image=img_sair, command=fim) bt_sair.place(width=300, height=100, x=55, y=650) return erro() inicio = Tk() inicio.title("PROJETO YEAGER") inicio.geometry("800x550") #importar as imagens img_banner = PhotoImage(file="bannertcc.png") #labels lab_inicio = Label(inicio, image=img_banner) lab_inicio.pack() inicio.after(2000,metodo) inicio.mainloop()
-
Como resolver este problema com o tkinter Entry e funções
pergunta respondeu ao Pedro Vidal de Pedro Vidal em Python
caramba, eu nem sabia dessa função lambda. Então ela pega valores e cria uma função com eles? Sobre as janelas, estava pensando em mudar para algo como um banner inicial, que ficaria na tela por uns segundos e já sairia, entrando a janela "medidas". Estava vendo uns comandos e cheguei em um "after", mas agora é mais uma jornada pra descobrir como aplicar kkkk obrigado demais cara, me salvou -
Como resolver este problema com o tkinter Entry e funções
pergunta respondeu ao Pedro Vidal de Pedro Vidal em Python
estamos de volta kk tentei aplicar isso que vccê mandou e deu um resultado meio estranho, meio que mesmo assim não quer registrar os dados e fica entregando o valor padrão '0.0'. Vou deixar o programa aqui, caso consiga dar uma olhada e ver onde está errado, desculpa aí o incomodo from tkinter import * from time import sleep import pandas as pd import openpyxl def medidas(): sleep(0.3) inicio.destroy() medidas = Tk() medidas.title("MEDIDAS") medidas.geometry("400x800") #imagens img_medidas = PhotoImage(file="medidastcc.png") img_botao1 = PhotoImage(file="botaosim.png") img_botao2 = PhotoImage(file="botaopadrao.png") #labels lab_medidas = Label(medidas, image=img_medidas) lab_medidas.pack() #entrada de dados en_agua = Entry(medidas, bd=2, textvariable=agua) en_agua.place(width=339, height=50, x=32, y=322) en_sal = Entry(medidas, bd=2, textvariable=sal) en_sal.place(width=339, height=50, x=32, y=449) en_far = Entry(medidas, bd=2, textvariable=far) en_far.place(width=339, height=50, x=32, y=584) #botoes bt_ok = Button(medidas, image=img_botao1) bt_ok.place(width=150, height=100, x=35, y=650) bt_padrao = Button(medidas, image=img_botao2, command=salvar) bt_padrao.place(width=150, height=100, x=220, y=650) return medidas() def salvar(): print(agua.get()) print(sal.get()) print(far.get()) inicio = Tk() inicio.title("PROJETO YEAGER") inicio.geometry("400x800") #variaveis agua = DoubleVar() sal = DoubleVar() far = DoubleVar() #importar as imagens img_inicio = PhotoImage(file="iniciotcc.png") img_botao3 = PhotoImage(file="botaoentrar.png") #labels lab_inicio = Label(inicio, image=img_inicio) lab_inicio.pack() #botao bt_entrar = Button(inicio, image=img_botao3, command=medidas) bt_entrar.place(width=200, height=100, x=95, y=550) inicio.mainloop() -
Como resolver este problema com o tkinter Entry e funções
pergunta respondeu ao Pedro Vidal de Pedro Vidal em Python
Então, tentei aplicar esse DoubleVar e colocar ele no Entry, mas acabou que me perdi no meio e não sei como prosseguir xdddd poderia me dar uma luz?