【发布时间】:2022-01-05 10:31:39
【问题描述】:
我正在尝试用 python(Kivy 框架)制作一个软件,我的软件将能够测试 wifi 密码的强度。
我遇到了一个问题。如何将 .kv (kivy) 文件中的用户输入获取到 .py (python) 文件中?
.PY 文件:
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 Layout_For_App(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 Layout_For_App()
AndrdWifiApp().run()
.KV 文件:
<Layout_For_App>:
Label:
text: 'Developed By Anonymous'
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: 'Enter Wifi SSID'
id: input_value
size_hint: (0.5, 0.15)
pos_hint: {'x':0.49,'y':0.01}
font_size: 40
我想从我的 .KV 文件中获取用户输入,然后将其存储在我的 .PY 文件中的 VARIABLE 中
This picture explains more, and it also displays how my GUI software looks like.
【问题讨论】:
-
您不会“将用户输入存储在 .py 文件中的变量中”——Python 源代码文件中的变量是程序员用来记住和引用内容的东西——当你用户获得软件,所有变量都已定义,您的程序应该按预期工作。你想对用户输入做什么?用户需要做什么?
-
我想用它作为wifi SSID(Wifi名称)
-
然后连接wifi
标签: python kivy kivy-language android-wifi kivymd