Невозможно вставить внешний текст в окно kivy (Python)Python

Программы на Python
Anonymous
Невозможно вставить внешний текст в окно kivy (Python)

Сообщение Anonymous »

Я начинаю изучать Kivy для создания графических интерфейсов, и все в порядке, но я не могу вставить внешний текст в виджеты TextInput. Нет проблем с копированием и вставкой текста внутри окна kivy (копирование из TextInput в другой). Проблема в том, что я не могу вставить текст, внешний по отношению к окну kivy (скопировать текст, скажем, из браузера и вставить его в TextInput). Моя ОС: Kali Linux Rolling 2020.1 (Debian)
Вот часть моего кода

Код: Выделить всё

class LoginPage(Screen):

keep_logged_var = BooleanProperty() # declaring some variables to use in the .kv file
school_code_var = StringProperty()
user_id_var = StringProperty()
password_var = StringProperty()
failed_var = BooleanProperty()

def __init__(self, **kwargs):
super(LoginPage, self).__init__(**kwargs)

self.keep_logged_var = keep_logged # assigning value to my variables
if self.keep_logged_var:
self.school_code_var = school_code
self.user_id_var = user_id
self.password_var = password
self.failed_var = False

def login(self, keep_logged, school_code_, user_id_, password_):
if keep_logged == 'normal': keep_logged = False
elif keep_logged == 'down': keep_logged = True

global token, school_code, user_id, password
school_code = school_code_
user_id = user_id_
password = password_
token = get_token(school_code, user_id, password)

if token == 'Failed to log in': # login failed
print('failed')
self.failed_var = True
else: # login successful
if keep_logged:
settings['keep_logged'] = True
settings['school_code'] = school_code
settings['user_id'] = user_id
settings['password'] = password
with open('settings.json', 'w') as file:
json.dump(settings, file, indent=2)

global scheda
scheda = get_schede()
а вот мой файл киви

Код: Выделить всё

:

keep_logged: root.keep_logged_var
school_code: root.school_code_var
user_id: root.user_id_var
password: root.password_var
failed: root.failed_var

name: 'loginpage' # name of the window

FloatLayout:

canvas:
Color:
rgba: 1,1,1,1
Rectangle:
size: root.width, root.height

Label: # school code label
text: 'School Code: '
font_size: 20
pos_hint: {'x': -0.15, 'y':0.2}
color: 0,0,0,1

TextInput: # school code entry
id: school_code_id
text: root.school_code if root.keep_logged else ''
multiline: False
size_hint: 0.2, 0.05
pos_hint: {'x': 0.45, 'y': 0.67}

Label: # user id label
text: 'User ID '
font_size: 20
pos_hint: {'x': -0.15, 'y': 0.1}
color: 0,0,0,1

TextInput: # user id entry
id: user_id_id
size_hint: 0.2, 0.05
pos_hint: {'x': 0.45, 'y': 0.57}
multiline: False
text: root.user_id if root.keep_logged else ''

Label: # password label
text: 'Password '
font_size: 20
pos_hint: {'x': -0.15, 'y': 0}
color: 0,0,0,1

TextInput: # password entry
id: password_id
size_hint: 0.2, 0.05
pos_hint: {'x': 0.45, 'y': 0.47}
password: True
multiline: False
text: root.password if root.keep_logged else ''

CheckBox: # keep me logged in
id: keep_logged_id
size_hint: 0.4, 0.1
background_color: 1,1,1,1
color: 0,0,0,1
pos_hint: {'x': 0.05, 'y': 0.33}
active: root.keep_logged_var

Label: # keep me logged in
text: 'Keep me logged in'
color: 0,0,0,1
font_size: 15
pos_hint: {'x': -0.14, 'y': -0.12}

Button: # login button
text: 'Login'
size_hint: 0.13, 0.06
color: 1,1,1,1
pos_hint: {'x': 0.5, 'y': 0.35}
on_press:
root.login(keep_logged_id.state, school_code_id.text, user_id_id.text, password_id.text)

Label: # failed login label
text: 'Login failed' if root.failed else ''
font_size: 20
pos_hint: {'y': -0.2}
color: 1,0,0,1
Спасибо за помощь

Подробнее здесь: https://stackoverflow.com/questions/606 ... dow-python

Вернуться в «Python»