Как расположить изображение с помощью python, а не на языке kivy (файлы .kv)?
Моя работа заключается в следующем.
import kivy
kivy.require('1.8.0') # current kivy version
import ConfigParser
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
from kivy.uix.image import Image
class login(Widget):
#checking to see if the user logging in has privilage to access program
def validate(self, *args):
username = self.ids['user']
user = username.text
config = ConfigParser.ConfigParser()
config.read('Privilage.cfg')
if not config.has_section('users'):
print 'the Privilage.cfg file has been tampered with'
if not config.has_option('users',user):
print 'user is not listed'
else:
userPriv = config.get('users',user)
print 'user',user,'has privilage',userPriv
with self.canvas:
Image(source='/Users/Kevin/Desktop/Python-extras/SSS Assistant/Manager_images/check-icon.png',pos=self.pos,size=self.size)
class DataApp(App):
def build(self):
return login()
if __name__ == '__main__':
DataApp().run()
Моя цель - проверить, существует ли пользователь, а затем поставить галочку в поле имени пользователя, если он существует, а затем позже (пока без кода) проверить соответствующий пароль (пока без кода). Я не хотел кодировать, что произойдет, если проверка не пройдена или пароль еще не совпадает, потому что, если я не могу изменить положение изображения, в этом нет смысла.
В настоящее время изображение появляется прямо в центре и очень большое (мне тоже нужно его уменьшить). Я искал Kivy API в kivy.uix.image.Image и не могу найти решение (искал изменение позиции или такие вещи как center_x и не могу найти). Я пытаюсь сделать это в python, потому что я помещаю конструктор изображения в оператор if, и я не уверен, что файлы .kv могут это сделать, поскольку они контролируют свойства.
** Меня интересует строка:
with self.canvas:
Image(source="path",pos=self.pos,size=self.size)
Вот прилагаемый файл kivy на всякий случай:
#:kivy 1.8.0
<login>:
canvas:
Rectangle:
source:"/Users/Kevin/Desktop/Python-extras/SSS Assistant/Manager_images/background.jpg"
pos: self.pos
size: self.size
Label:
center_x: root.width / 2
top: (root.top/2) + 150
text: 'Please login with your ID and password'
Label:
center_x: (root.width/2)-130
top: (root.top/2)+110
text: 'Username:'
Label:
center_x: (root.width/2)-130
top: (root.top/2)+83
text: 'Password:'
TextInput:
id: user
center_x: (root.width/2) +10
top:(root.top/2)+75
size_hint: None, None
size: 200, 30
max_lines: 1
valign: 'middle'
halighn: 'center'
font_size: 15
multiline: False
on_text_validate: root.validate()
TextInput:
id: password
center_x: (root.width/2) +10
top:(root.top/2)+45
size_hint: None, None
size: 200, 30
max_lines: 1
valign: 'middle'
halighn: 'center'
font_size: 15
multiline: False
password: True
Заранее спасибо!