2016-01-25 6 views
1

Я работаю над некоторым кодом для создания пользовательского интерфейса для сенсорного экрана в Python/Kivy. Я новичок в обоих, и у меня проблемы с этим. Я получаю AttributeError поднятый на return PtWidg(), но консоль не дает мне ничего супер полезно для работы прочь:Ошибка атрибута Python/Kivy

Traceback (most recent call last): 
    File "/Users/revascharf/Documents/COLLEGE WORK/SENIOR YEAR/touchscreenInterface/touchUI.py", line 30, in <module> 
    ptApp().run() 
    File "/Applications/Kivy.app/Contents/Resources/kivy/kivy/app.py", line 802, in run 
    root = self.build() 
    File "/Users/revascharf/Documents/COLLEGE WORK/SENIOR YEAR/touchscreenInterface/touchUI.py", line 26, in build 
    return PtWidg() 
    File "/Applications/Kivy.app/Contents/Resources/kivy/kivy/uix/widget.py", line 320, in __init__ 
    Builder.apply(self, ignored_consts=self._kwargs_applied_init) 
    File "/Applications/Kivy.app/Contents/Resources/kivy/kivy/lang.py", line 1970, in apply 
    self._apply_rule(widget, rule, rule, ignored_consts=ignored_consts) 
    File "/Applications/Kivy.app/Contents/Resources/kivy/kivy/lang.py", line 2044, in _apply_rule 
    cls = Factory_get(cname) 
    File "/Applications/Kivy.app/Contents/Resources/kivy/kivy/factory.py", line 130, in __getattr__ 
    raise AttributeError 
AttributeError 

Process finished with exit code 1 

Это мой файл питон, touchUI.py:

import kivy 
import datetime 

from kivy.app import App 
from kivy.uix.widget import Widget 
from kivy.uix.button import Button 

kivy.require('1.9.0') 
from kivy.uix.image import Image 


class SendButton(Button): 
    def on_press(self): 
     now = datetime.datetime.now() 
     self.text = 'minute is ' + str(now.minute) 


class PtWidg(Widget): 
    pass 


class ptApp(App): 
    def build(self): 
     return PtWidg() 


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

А вот содержимое моего файла .kv, pt.kv:

#kivy 1.9.0 

<sendButton>: 
    size: 40, 30 
    #pos: center_x + width/4, center_y - height/4 


<PtWidg>: 

    Image: 
     center_x: root.width/4 
     top: root.top - 50 
     source: 'SensoryWalkLogo.png' 
     height: db(50) 
     width: db(50) 

    sendButton: 
     center_x: root.width - root.width/4 
     top: root.top - 50 
     text: 'Send minute to MSP430' 
     font_size: 40 

Действительно, любые советы или трюки помогут мне много. Спасибо!

+0

Ваш пример работает для меня (kivy 1.8.0) - может быть, добавить полный журнал? –

ответ

0

Ваш код имеет следующие ошибки:

  1. Вы писали sendButton вместо SendButton в файле кв.
  2. Также в файле kv вы написали db(50) вместо dp(50). Использование строки '50dp' также является допустимым вариантом.
+0

Да, мой код теперь работает, спасибо! Иногда для этого просто требуется один человек! –

Смежные вопросы