kivy - 调用相机分辨率参数时获取“NoneType”
问题描述
我正在尝试访问 Kivy 中的相机小部件:
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.camera import Camera
from kivy.logger import Logger
import logging
Logger.setLevel(logging.TRACE)
class MainApp(App):
title = 'wohoo'
def build(self):
pass
if __name__ == '__main__':
MainApp().run()
.kv 文件:
BoxLayout:
Camera:
id: camera
resolution: 1280,720
play: True
完整的错误输出:
[TRACE ] [Cache ] Flushed category kv.texture from cache
[TRACE ] [Cache ] Flushed category kv.shader from cache
[DEBUG ] [Shader ] Fragment compiled successfully
[DEBUG ] [Shader ] Vertex compiled successfully
[DEBUG ] [ImageSDL2 ] Load </home/mark/.local/lib/python3.7/site-packages/kivy/data/glsl/default.png>
[TRACE ] [Image ] '/home/mark/.local/lib/python3.7/site-packages/kivy/data/glsl/default.png', populate to textures (1)
[INFO ] [Window ] auto add sdl2 input provider
[INFO ] [Window ] virtual keyboard not allowed, single mode, not docked
[TRACE ] [Lang ] Found 0 rules for <kivy.uix.boxlayout.BoxLayout object at 0x7f14b22402f0>
[TRACE ] [Lang ] Found 1 rules for <kivy.uix.camera.Camera object at 0x7f14ab46c830>
Traceback (most recent call last):
File "/home/mark/.local/lib/python3.7/site-packages/kivy/lang/builder.py", line 700, in _apply_rule
setattr(widget_set, key, value)
File "kivy/weakproxy.pyx", line 35, in kivy.weakproxy.WeakProxy.__setattr__
File "kivy/properties.pyx", line 497, in kivy.properties.Property.__set__
File "kivy/properties.pyx", line 839, in kivy.properties.ListProperty.set
File "kivy/properties.pyx", line 544, in kivy.properties.Property.set
File "kivy/properties.pyx", line 599, in kivy.properties.Property.dispatch
File "kivy/_event.pyx", line 1214, in kivy._event.EventObservers.dispatch
File "kivy/_event.pyx", line 1120, in kivy._event.EventObservers._dispatch
File "/home/mark/.local/lib/python3.7/site-packages/kivy/uix/camera.py", line 103, in _on_index
resolution=self.resolution, stopped=True)
TypeError: 'NoneType' object is not callable
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "main.py", line 16, in <module>
MainApp().run()
File "/home/mark/.local/lib/python3.7/site-packages/kivy/app.py", line 828, in run
self.load_kv(filename=self.kv_file)
File "/home/mark/.local/lib/python3.7/site-packages/kivy/app.py", line 599, in load_kv
root = Builder.load_file(rfilename)
File "/home/mark/.local/lib/python3.7/site-packages/kivy/lang/builder.py", line 301, in load_file
return self.load_string(data, **kwargs)
File "/home/mark/.local/lib/python3.7/site-packages/kivy/lang/builder.py", line 405, in load_string
rule_children=rule_children)
File "/home/mark/.local/lib/python3.7/site-packages/kivy/lang/builder.py", line 707, in _apply_rule
e), cause=tb)
kivy.lang.builder.BuilderException: Parser: File "/home/mark/venv/main.kv", line 4:
...
2: Camera:
3: id: camera
>> 4: resolution: 1280,720
5: play: True
...
TypeError: 'NoneType' object is not callable
File "/home/mark/.local/lib/python3.7/site-packages/kivy/lang/builder.py", line 700, in _apply_rule
setattr(widget_set, key, value)
File "kivy/weakproxy.pyx", line 35, in kivy.weakproxy.WeakProxy.__setattr__
File "kivy/properties.pyx", line 497, in kivy.properties.Property.__set__
File "kivy/properties.pyx", line 839, in kivy.properties.ListProperty.set
File "kivy/properties.pyx", line 544, in kivy.properties.Property.set
File "kivy/properties.pyx", line 599, in kivy.properties.Property.dispatch
File "kivy/_event.pyx", line 1214, in kivy._event.EventObservers.dispatch
File "kivy/_event.pyx", line 1120, in kivy._event.EventObservers._dispatch
File "/home/mark/.local/lib/python3.7/site-packages/kivy/uix/camera.py", line 103, in _on_index
resolution=self.resolution, stopped=True)
我在 Ubuntu 20.04 上使用 Python 3.7,Kivy 版本 1.11.1
(这里的文字是绕过“看起来你的帖子主要是代码”警告,这里的文字是绕过“看起来你的帖子主要是代码”警告,这里的文字是绕过“看起来你的帖子是主要是代码”警告)
解决方案
推荐阅读
- vue.js - Vue-cli VS 模块捆绑器和任务运行器
- rest - 我正在 MarkLogic 中安装 REST 扩展来查询视图。如何设计此 GET 请求,以便它可以采用 > 和 < 等条件作为日期?
- c++ - 如何绘制到目标纹理大于屏幕分辨率的帧缓冲区?
- windows - 如何修复 npm/yeoman 安装错误:TypeError: cannot read property 'proxy' of undefined
- reactjs - TypeError: this.setState 不是带有 es6 函数的函数
- java - 这个java类路径设置正确吗?
- python - TypeError: * 之后的 start() 参数必须是可迭代的,而不是 int
- python-3.x - 我如何在linux开发环境中的webcompiler(ide.goorm.io)中导入win32com模块,
- python - 如何追加数组以避免超出范围的索引?
- intellij-idea - Intellij:强制 Spring Boot 应用程序使用类路径 jar