0
我運行Ubuntu 14.1 kivy 1.9.0蟒蛇2.7Kivy ButtonBehavior沒有定義錯誤
我試圖寫一個小程序,它利用ButtonBehavior但它口口聲聲說的名字在應用程序啓動是沒有定義。我有另一個使用ButtonBehavior的程序,它啓動得很好。其實我直接從文件複製該導入工作,我仍然得到相同的錯誤。 我試圖卸載kivy並重新安裝,但它沒有奏效。拼寫和一切只是由於某種原因,它不會加載這個應用程序。
這裏是回溯:
[INFO ] [Kivy ] v1.9.0
[INFO ] [Python ] v2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2]
[INFO ] [Image ] Providers: img_tex, img_dds, img_gif, img_sdl2, img_pil (img_ffpyplayer ignored)
[INFO ] [Factory ] 173 symbols loaded
[INFO ] [Text ] Provider: sdl2
[INFO ] [OSC ] using <multiprocessing> for socket
[INFO ] [Window ] Provider: sdl2(['window_egl_rpi'] ignored)
[INFO ] [GL ] OpenGL version <3.0 Mesa 10.1.3>
[INFO ] [GL ] OpenGL vendor <Intel Open Source Technology Center>
[INFO ] [GL ] OpenGL renderer <Mesa DRI Intel(R) Broadwell >
[INFO ] [GL ] OpenGL parsed version: 3, 0
[INFO ] [GL ] Shading version <1.30>
[INFO ] [GL ] Texture max size <8192>
[INFO ] [GL ] Texture max units <32>
[INFO ] [Window ] auto add sdl2 input provider
[INFO ] [Window ] virtual keyboard not allowed, single mode, not docked
Traceback (most recent call last):
File "uf.py", line 27, in <module>
class TestIcon(ButtonBehavior, Image):
NameError: name 'ButtonBehavior' is not defined
import kivy
import subprocess
from kivy.uix.behaviors import ButtonBehavior
from kivy.uix.gridlayout import GridLayout
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.scrollview import ScrollView
from kivy.clock import Clock
import ufhubtest as uf
import time
PORT_NUM = 3
POWER_OFF_SECS = 3
POWER_ON__SECS = 3
class ListViewLabel(Label):
pass
class PassFail(Label):
pass
class TestIcon(ButtonBehavior, Image):
pass
class MainLayout(BoxLayout):
self.pf = ObjectProperty()
self.ti = ObjectProperty()
self.passcount = 0
self.failcount = 0
self.hubdev = None
def find_hub(self):
self.hubdev = usb.core.find(idVendor=0x0424, idProduct=0x2640)
if self.hubdev is None:
self.pf.text= "No Hub found for port power control"
time.sleep = 2
sys.exit(1)
else:
Clock.schedule_once(self.run_test)
def run_test(self):
#Clock.unschedule(self.run_test)
while True:
try:
uf.port_power1(hubdev, PORT_NUM, False)
time.sleep(POWER_OFF_SECS)
uf.port_power1(hubdev, PORT_NUM, True)
time.sleep(POWER_ON__SECS)
dhub = usb.core.find(idVendor=DUT_VID, idProduct=DUT_PID)
if dhub is not None:
passcount = passcount + 1
print "%s: Pass:%d Fail:%d" % (datetime.now().strftime('%Y-%m-%d %H:%M:%S'), passcount, failcount)
else:
failcount = failcount + 1
print "%s: Pass:%d Fail:%d -- Hub not found" % (datetime.now().strftime('%Y-%m-%d %H:%M:%S'), passcount, failcount)
except (KeyboardInterrupt, SystemExit):
print "Interrupted"
break
class UfApp(App):
pass
if __name__=="__main__":
UfApp().run()
我刪除了「自我」,我仍然收到錯誤。 – mri3
@ mri3您尚未導入Image類和一些其他類/模塊。 – jligeza