我知道这是一个常见问题,关于此主题有几个答案,但是没有一个答案对我有用,所以在这里:
我正在尝试在Container(BoxLayout)类下的main.py中定义字体大小,然后在.kv文件中使用该值动态驱动字体大小。
我还有另一个使用字符串属性来处理文本的示例,它可以工作,但是在数字或对象属性方面却没有。
代码如下:
main.py
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import StringProperty, NumericProperty, ObjectProperty
class Container(BoxLayout):
user_name = StringProperty('Mad Max')
y = ObjectProperty('100dp')
class MainApp(App):
def build(self):
return Container()
if __name__ == "__main__":
MainApp().run()
main.kv
<Container>:
Label:
text: root.user_name
font_size: root.y
因为这已经适用于字符串文件,所以我不知道该怎么办!
谢谢您的回答!
再见
答案 0 :(得分:1)
这就是问题所在:
我不应该使用像“ y”这样的变量名。正如 John Anderson 所指出的,使用“ x”或“ y”作为变量名的名称与Widget冲突,因为这些名称用于定位。
因此,代码应为变量使用更好的名称,例如:
main.py
font_size: root.title_size
main.kv
$("#btn").click(function() {
$.ajax({
url:"",
method: "get",
async: true,
DataType: "application/json"
})
.then(function(data) {
document.getElementById("test").innerHTML = data
.map(function(f) {
console.log(f);
return "<p>" + f.DocImage.sfFilename + "</p>";
})
.join("<br/>");
});
});
因此,请勿使用“ x”或“ y”作为变量名!
谢谢
约翰·安德森
并希望这对其他人有帮助。
再见