gpt4 book ai didi

python - Python Kivy : pos_hint = (x.x, x.x) -> Error

转载 作者:行者123 更新时间:2023-12-02 10:54:33 26 4
gpt4 key购买 nike

如标题中所述,当在Python-Kivy给pos_hint一个元组时,出现错误。一个例子:

__version__ = "1.0"
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.floatlayout import FloatLayout

class NumTouch(App):
def build(self):
self.root = FloatLayout()
self.count = 0
self.btn = Button(text="0x pressed", background_color=(2,2,2,0.1))
self.root.add_widget(self.btn)
self.btn.size_hint = (0.5, 0.25)
self.btn.pos_hint = (0.5, 0.25) #<- important
self.btn.bind(on_press=self.clicked)
return self.root

def clicked(self, widget):
self.count += 1
widget.text = str(self.count)+"x pressed"

NumTouch().run()

错误提示:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
File "/home/d0nkey/Scripts/App/main.py", line 21, in <module>
self.run()
NumTouch().run()
File "/usr/lib/python2.7/threading.py", line 763, in run
File "/usr/lib/python2.7/dist-packages/kivy/app.py", line 600, in run
self.__target(*self.__args, **self.__kwargs)
runTouchApp()
File "/usr/lib/python2.7/dist-packages/kivy/input/providers/mtdev.py", line 192, in _thread_run
File "/usr/lib/python2.7/dist-packages/kivy/base.py", line 454, in runTouchApp
_device = Device(_fn)
EventLoop.window.mainloop()
File "/usr/lib/python2.7/dist-packages/kivy/lib/mtdev.py", line 131, in __init__
File "/usr/lib/python2.7/dist-packages/kivy/core/window/window_pygame.py", line 325, in mainloop
self._fd = os.open(filename, os.O_NONBLOCK | os.O_RDONLY)
self._mainloop()
OSError: [Errno 13] Permission denied: '/dev/input/event7'
File "/usr/lib/python2.7/dist-packages/kivy/core/window/window_pygame.py", line 231, in _mainloop

EventLoop.idle()
File "/usr/lib/python2.7/dist-packages/kivy/base.py", line 294, in idle
Clock.tick()
File "/usr/lib/python2.7/dist-packages/kivy/clock.py", line 370, in tick
self._process_events()
File "/usr/lib/python2.7/dist-packages/kivy/clock.py", line 481, in _process_events
if event.tick(self._last_tick) is False:
File "/usr/lib/python2.7/dist-packages/kivy/clock.py", line 280, in tick
ret = callback(self._dt)
File "/usr/lib/python2.7/dist-packages/kivy/uix/floatlayout.py", line 92, in do_layout
for key, value in c.pos_hint.iteritems():
AttributeError: 'tuple' object has no attribute 'iteritems'

我不理解的,对我来说似乎毫无意义的是,即使在几乎相同的情况下,它也会在 pos_hint处出现错误,但不会在 size_hint处出现错误;或至少是相同的构造...
如您所见,它是由pos_hint行引起的。
如果您了解错误或知道如何解决问题,请告诉我。
谢谢 :)

最佳答案

pos_hint实际上是一个字典,例如:

widget = Widget(pos_hint={'top': 0.9})

关于python - Python Kivy : pos_hint = (x.x, x.x) -> Error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31026172/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com