Как назначить значения словаря таким образом, чтобы при вводе ключа в качестве учетной записи он возвращал значение в качестве пароля в Kivy? - PullRequest
0 голосов
/ 19 апреля 2020

.py файл

import kivy
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.gridlayout import GridLayout
from kivy.uix.textinput import TextInput
from kivy.properties import ObjectProperty
from kivy.uix.label import Label
from kivy.graphics import Color, Rectangle  
from kivy.uix.button import Button

class MyGrid(Widget):
    account = ObjectProperty(None)
    password = ObjectProperty(None)

def button(self):
    print('Account Name:', self.account.text, 'Password:', self.password.text)
    self.account.text = ' '
    self.password.text = ' '

passwords = {'email1': '', 'email2': '', 'Nintendo': '', 'email3': ''}

email1 = ''
email2 = ''
email3 = ''

class pwStorer(App):
    def build(self):
        return MyGrid()

if __name__ == '__main__':
    pwStorer().run() 

.kv файл

<MyGrid>

account: account
password: password

GridLayout:
    cols: 1
    size: root.width, root.height

    GridLayout:
        cols: 2

        Label:
            text: 'Account Name:'

        TextInput:
            id: account
            multiline: False

        Label:
            text: 'Password:'

        TextInput:
            id: password
            multiline: False

    Button:
        text: 'Enter'
        on_release:

По сути, когда кнопка отпущена, она должна вернуться значение из словаря «Пароли», связанное с ключом (или «имя учетной записи»). Как это сделать? (желательно в файле .kv). Я довольно новичок в Python и искал везде, но не могу понять это. Спасибо!

1 Ответ

0 голосов
/ 20 апреля 2020

Для вашего Button вы можете использовать:

    Button:
        text: 'Enter'
        on_release: password.text=app.get_password(account.text)

Затем в pwStorer:

class pwStorer(App):
    def build(self):
        return MyGrid()

    def get_password(self, user_name):
        try:
            pswd = passwords[user_name]
            return pswd
        except:
            return '***** No Such User****'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...