我得到了错误: [CRITICAL] App.root must be an _instance_ of Widget
Traceback (most recent call last):
File "C:/Users/nurum/PycharmProjects/Mango/main.py", line 15, in <module>
MyApp().run()
File "C:\Users\nurum\anaconda3\envs\Mango\lib\site-packages\kivy\app.py", line 835, in run
r
是kivy库的新手,在动态更新属性时遇到了一些问题。这里的标签只是一个占位符。最终,我希望显示的图像根据用户单击/触摸的象限按顺序更改。
程序运行正常,没有错误,悬停标签(label2)不更新(label1更新)。当我单击四个象限时,象限数字会像我预期的那样显示给控制台。每当用户单击Q1时,我都会打印出self.incr,这也会显示并增加,这意味着incr属性正在按应该的方式增加。
所以,我不明白为什么标签没有更新。
main.py
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.image i
我刚开始Kivy编程,对布局的理解有问题:
import kivy
kivy.require('1.9.0')
from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.core.window import Window
from kivy.uix.widget import Widget
from kivy.graphics import Rectangle, Color
class CornerRectangleWidget(Widget):
def __init
我对kivy很陌生,我正试图用python中的kivy编写一个应用程序,每当文本输入被更改时,我都不得不从文本输入中读取文本,并在此基础上实现按钮的功能--我已经浏览了所有文档,但我不知道如何实现它--有人能告诉我如何解决这个问题吗?或者我遗漏了什么?
from __future__ import print_function
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.boxlayout import BoxLayout
from kivy.core.image import Image
from
我正尝试在新的Bash on Ubuntu on Windows环境中为一个名为kivy的Python GUI库运行一个基本的hello world应用程序,这个库是开发人员提供的。我已经将示例代码保存为main.py,如下所示:
import kivy
kivy.require('1.9.1') # my current kivy version
from kivy.app import App
from kivy.uix.label import Label
class MyApp(App):
def build(self):
return L
我遵循了kivy文档中的kivy Scrollview教程。但是它在窗口的右边留下了很大的空间。我希望Scrollview在调整大小时适合屏幕。
这是我得到的:
from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.button import Button
from kivy.uix.scrollview import ScrollView
class ScrollViewApp(App):
def build(self):
layout =
我是新来kivy的。我正在尝试创建一个简单的应用程序,用于检测鼠标点击,并根据鼠标的坐标绘制一个圆圈。下面的代码可以做到这一点。 from kivy.app import App
from kivy.uix.widget import Widget
from kivy.graphics import Ellipse, Color
from random import random
class MyAppleWidget(Widget):
def on_touch_down(self, touch):
with self.canvas:
Co
我在python (main.py)中编写了一个python代码,以创建一个kivy应用程序,它包含动态创建的标签,运行良好。这是main.py文件
main.py
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.gridlayout import GridLayout
class createLabels(GridLayout):
def __init__(self,**kwargs):
super().__init__(**kwargs)
我试图用kivy绘制各种线段。这条线看起来很小(在屏幕的一端),我想把它放大。理想情况下,我希望从屏幕中心指定坐标,并指定宽度和高度,以使线段看起来很好。下面是我写的代码:
from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.widget import Widget
from kivy.lang import Builder
from kivy.graphics import Color, Ellipse, Line
class MyWidget(Widget):
def
我的问题简单而直截了当。我试图使用Kivy中的bind函数动态更新小部件的属性。有可能吗?怎么做?
概述
下面的片段是一个基本的Kivy应用程序,它在屏幕上添加了一个带有文本的Label小部件。它起作用了!但是,如果我想使用bind动态地更改文本(如您在注释行中看到的那样),我将得到以下错误消息:
AssertionError: 'Updated Text' is not callable
from kivy.app import App
from kivy.uix.label import Label
class TestApp(App):
def build(s
我用kivy写了一篇很长的文章。我想调整动态高度取决于文本的数量。
我的代码是这样的。
import kivy
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.gridlayout import GridLayout
class DynamicHeight(App):y
def build(self):
grid = gl = GridLayout(cols=1)
for i in range(3):
l = Label(tex
问:如何在此场景中更新标签文本?
Python代码:
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen, FadeTransition
from kivy.uix.textinput import TextInput
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
from kivy.uix.widget import
如前所述,在使用代码时,我似乎无法使用kivy。我可以看到,有其他几个像这样的帖子,但我不确定它们是否是相同的问题,直到我通知我需要移动我的职位,我不会。
因此,我正在阅读“用Python在Kivy Mobile中创建应用程序”一书,我是第一个例子。我将张贴我的代码和输出从我的终端,并希望有人能帮助。
这是代码
第一个文件main.py
from kivy.app import App
class WeatherApp(App):
pass
if __name__ == '__main__':
WeatherApp().run()
这是Kivy文件: we
如何将背景更改为图像在此代码中我没有使用任何.Kv文件。我想设置一个图像的屏幕背景,但我只看到了.kv文件的背景 import kivy
from kivy.app import App
from kivy.uix.floatlayout import Floatlayout
from kivy.uix.widget import Widget
from kivy.uix.button import Button
from kivy.label import Label
class LandingScreen(FloatLayout):
def __init__(self, *
我正在寻找一个弹出式在蟒蛇一侧,有一个动态的高度。
到目前为止,我已经在屏幕__init__类中实现了这一点。kv文件还有另一个小部件,称为弹出on_release。无论如何,我发现这会产生一个格式非常不稳定的弹出窗口:
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.popup import Popup
from kivy.uix.button import Button
from kivy.uix.gridlayout import GridLayout
from kivy.uix.screenman
“”“
import kivy
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.gridlayout import GridLayout
from kivy.uix.textinput import TextInput
class MyGrid(GridLayout):
def __init__(self, **kwargs):# handle as many can com in **kwargs
super(MyGrid, self).__init__(**kwargs
我一直在玩代码,我发现了一些(可能)奇怪的事情:当我在类中添加父级时,的大小发生了变化
from random import random, randint
import kivy
kivy.require('1.8.0')
from kivy.config import Config
Config.set('graphics', 'fullscreen', '0')
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.but
我想用动态创建的按钮创建一个可滚动的浮动布局(在那里我可以滚动画板)。不幸的是,我出来的代码不能工作,按钮在滚动FloatLayout时也不会移动。如何将按钮连接到FloatLayout上?
import kivy
kivy.require('1.0.7')
from kivy.app import App
from kivy.uix.scrollview import ScrollView
from kivy.lang import Builder
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.butto
我正在尝试创建一个轻巧的盒子,最好是基于最小数量的JS (框架,不管它们是多么“轻”,都是不允许的)。在各种资源的帮助下,我编写了以下JS:
var dialogWritten = false;
function getZIndex(elem) {
var elems = document.getElementsByTagName(elem);
var highest = 0;
for (var i = 0; i < elems.length; i++) {
var zindex = document.defaultView.getCompute
我希望我的标签有准确的高度,它需要显示它的文本。它在一个RecycleView里面。我认为我的代码应该在RecycleView之外工作。
,我如何使标签足够大,以便它的内容可以很容易地被阅读?的方式,就像它已经为CodeInput和TextInput工作一样。
from kivy.base import runTouchApp
from kivy.lang import Builder
from kivy.uix.recycleview import RecycleView
from kivy.uix.label import Label
from kivy.uix.recyclebox
我想为我的动态python按钮显示一些png文件,所以我使用了下面的结构,但是它不能工作。我想更改self.source = '‘at class MyButton(ButtonBehavior,Image):动态地从if条件中更改MyButton类中存在的def ()。这样的结果,如果条件,我的按钮源图像将是不同的。你能帮我修一下吗?也许还有另一种解决办法。当我尝试这段代码时,它会在我的程序中显示白框,而不会显示任何png文件。
谢谢
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy
我编写这段python代码是为了在屏幕内动态创建一个BoxLayout。
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
class ListScreen(Screen):
def __init__(self,**kwargs):
super(ListScreen, self).__init__(**kw
我在kivy中动态地创建了按钮。我想打印按钮文本上的__释放/按下,但当我点击按钮。它打印列表的最后一个元素,而它应该打印按钮的文本。
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.button import Button
from kivy.properties import ObjectProperty
from kivy.factory import Factory
kv = '''
我正在尝试扩展Nykakin提供的答案中的代码,在这里可以动态地在Kivy中定义小部件,动态分配ID,然后基于ID进行操作。
“结束游戏”是通过改变基于ID的小部件的位置来实现一些基本的2D物理。
我无法从更新函数‘遍历’小部件树(错误内联)。
做这样的事有可能吗?
以下是代码:
#code begins here
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.stacklayout import StackLayout
from kivy.uix.button import Bu