¿Cómo obtengo la entrada del usuario en Python (marco de trabajo Kivy)?
Estoy intentando crear un software en python (marco Kivy), que sea capaz de probar la fuerza de las contraseñas wifi.
Me he encontrado con un problema. ¿Cómo obtengo la entrada del usuario en mi archivo .kv (kivy) en mi archivo .py (python)?
.PY FILE:
from kivy.app import App
from kivy.properties import StringProperty
from kivy.uix.floatlayout import FloatLayout
try:
from wifidroid.wifi import WifiManager
except:
pass
from kivy.uix.textinput import TextInput
import kivymd, kivy
try:
import wifidroid
except:
pass
from kivy.uix.label import Label
from kivy.uix.button import Button
text = 'testttt'
try:
wifi = WifiManager()
wifi.startScan()
wifi.EnabledWifi(True)
for i in range(wifi.ScanResults.size()):
ssid = [wifi.ScanResults.get(i).SSID]
bssid = [wifi.ScanResults.get(i).BSSID]
levell = [wifi.ScanResults.get(i).level]
text += ssid[0] + " " + bssid[0] + " " + str(levell[0])
except:
pass
try:
wifi.ConnectWifiWpa("WifiName", "WifiPassword")
except:
pass
wifi.ConnectWifiWep("WifiName", "WifiPassword")
wifi.ConnectWifiPublic("WifiName")
class LayoutForApp(FloatLayout):
output = StringProperty()
input = StringProperty()
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.ids.label_output.text = text
self.output = text
pass
class AndrdWifiApp(App):
def build(self):
return LayoutForApp()
AndrdWifiApp().run()
.KV FILE:
<layoutforapp>:
Label:
text: 'Desarrollado por Anónimo'
pos_hint: {'x':0, 'y':0.45}
Label:
text: 'OUTPUT' + root.output
id: label_output
background_color: (1, 1, 1, 1)
size_hint: (0.451, 0.7)
pos_hint: {'x':0.27, 'y':0.17}
valign: "middle"
halign: "left"
color: (0,1,0)
canvas.before:
Color:
rgba: self.background_color
Rectangle:
size: self.size
pos: self.pos
border: 3, 3
Button:
text: 'CRACK'
background_color: 1, 0, 0, 1
color: 0, 1, 1
size_hint: (0.4, 0.15)
pos_hint: {'x':0.0199, 'y':0.01}
font_size: 30
TextInput:
text: 'Ingrese el SSID de Wifi'
id: input_value
size_hint: (0.5, 0.15)
pos_hint: {'x':0.49, 'y':0.01}
font_size: 40
Quiero obtener la entrada del usuario desde mi archivo .KV, luego almacenarla en una VARIABLE en mi archivo .PY. Este es el enlace a una imagen que explica más y también muestra cómo se ve mi software GUI.
davy.ai
Para obtener la entrada del usuario desde el archivo .kv y almacenarla en una variable en el archivo .py, puede seguir los siguientes pasos:
id
al widget TextInput en el archivo .kv, así:self.root.ids
. Entonces puede agregar la siguiente línea de código dentro de la claseLayout_For_App
:Esto almacenará el texto ingresado por el usuario en la variable ‘wifi_ssid’.
Luego, puede usar esta variable ‘wifi_ssid’ en su código de prueba de contraseña de WiFi.
Aquí está el archivo .py actualizado con estos cambios:
Y aquí está el archivo .kv actualizado con un botón que llama a la función ‘test_wifi_password’ cuando se presiona:
“`kv
:
Label:
text: ‘Desarrollado por Anónimo’
pos_hint: {“x”:0,”y”:0.45}
“`