我有个使用kivy的例子-
当我在输入field1中写一些东西并按重设-一切正常工作(输入字段被删除,集中在field1上)。但是当我在field2中更改某些内容并按下重置按钮时,该应用程序似乎坏了.
为什么这是为什么,为什么self.ids.stockTicker.focus = True语句不是每次都有效?
py档案:
import threading
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.lang import Builder
from kivy.core.window import W
我想用Kivy开关来开/关东西。我试图坚持使用:,但没有.kv示例。
我有下面的代码,抽象成这个问题。
main.py:
def PID_an_aus(self, instance, value):
if value is True:
do something
else:
do something else
kv档案:
Switch:
on_active: root.PID_an_aus()
只要我不点击开关,GUI就能正常工作。一旦我单击开关,程序就会在没有错误的情况下关闭。
我觉得有点傻,知道吗,有人能
我只想从我的第二堂课的文本输入中提取一个数字值到我的家庭班,然后能够在函数中处理它。我想我在这里很难理解父母和孩子的关系和语法。
请帮帮我..。
Python文件:
class Home(Screen):
#Generic function
def test(self):
#grab numbers from text input here and be able to use the numeric value using ids
#distance=..? I think norma
在kivy中,.py文件和.kv文件之间的共享变量存在问题。
在解释我的问题之前,这里有一些代码。
.py文件
from kivy.app import App
from kivy.boxlayout import BoxLayout
class Test(BoxLayout):
def myfunc(self):
self.mytext = 'blabla'
class MyApp(App):
def build(self):
return Test()
if name == '__main__':
我试图打开带有特定参数(错误类型)的弹出消息,以便在弹出的kv中定义文本the应该显示的内容。
我已经尝试过使用分离类(ErrorPopUp),但是我无法用参数调用弹出方法。
"'ErrorPopup‘对象没有属性’错误类型‘“
这应该是一个可重复的例子。
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.uix.popup import Popup
from kivy.properti
我有一个简单的代码工作得很好,当我将.kv文件中的根类更改为根实例时,它就停止工作了(有些东西已经在工作了)。
在.kv文件中,已经有两行来测试两种情况之间的差异,这是注释一/取消注释的问题。
我在Kivy论坛上问过,使用builder类没有结果(因为我不知道有什么区别!)作为基维的新手,我现在没有什么本能的资源。
main.py:
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.button import Button
from kivy.properties import NumericPr
我试图调用一个init方法,它是函数中的父函数。我可能做了件很愚蠢的事,但我搞不懂。当我有以下代码时,我会得到一个错误:
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.button import Button
from kivy.properties import NumericProperty, ReferenceListProperty, ObjectProperty, ListProperty
from kivy.clock import Clock
from kivy.graphics
我有一个dict_类,它试图复制内置的dict类。 下面是这个类( new函数返回原始对象): class dict_:
def __init__(self, *args, **kwargs):
self.kv = kwargs
if not self.kv:
for kv in args:
for k, v in kv:
self.kv.update({k: v})
def __str__(self):
return "
我想要在KV和PY文件中显示一个是/否弹出的代码,我可以在我的应用程序中的任何地方实例化这个问题。
一个善良的人会帮助我把我在互联网上找到的代码转换成KV文件和PY文件内容。我希望能够在我的应用程序中的任何位置创建一个弹出实例以供显示。
这是我工作的样本:
import kivy
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.gridlayout import GridLayout
from kivy.uix.popup import Popup
from kivy.properties import
我有两个有一个kv文件的应用程序。两个应用程序之间的区别仅在于应用程序类名。应用程序A给出了好的结果,但是应用程序B是不好的。问题在哪里?
申请书A:
import kivy
kivy.require('1.0.5')
from kivy.lang.builder import Builder
from kivy.uix.button import Button
from kivy.uix.gridlayout import GridLayout
from kivy.app import App
class MyW(GridLayout):
pass
class
我是基维的新手,但我试着掌握它的诀窍。我正在研究作为模板的“在Kivy中创建应用程序”中的示例,但我甚至在第一章中遇到了绊脚石。出于某种原因,我的按钮被推到了应用程序的底部。我是不是错过了一些关键的东西他们会出现在下面?
我的python文件:
import kivy
from kivy.app import App
from kivy.uix.button import Label
from kivy.uix.boxlayout import BoxLayout
# In the kv file, everything to the right of the colon is pure
所以在我的python文件中有一个类,我想把它从主python文件中分离出来,因为我需要修改它几次,并在主文件中使用它。然而,因为这个类需要访问kivy文件来读取ids,所以我不能在不加载kv文件两次的情况下将这个类从主文件中分离出来,这会使一切变得混乱。我怎么才能基本上让这个类可导入呢? class RightSide(BoxLayout):
order_size = []
overlay = StringProperty('Current Order will be displayed here')
tabname = parameter_leng
我正在尝试创建一个屏幕,它在页面顶部有一个水平滚动视图,占据了25%的垂直空间,一个垂直滚动视图占据了其余的空间(然后能够进一步向下滚动)。
我已经成功地创建了一个水平滚动视图,但是无法使垂直滚动视图在同一个屏幕上工作。
py档案:
import kivy
from kivy.app import App
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.lang import Builder
from kivy.uix.label import Label
from kivy.uix.button impor
我目前正在用按钮更新一堆标签,我通过得到了答案
然而,现在我在我的实际应用程序,我需要的功能,能够接受一个用户的输入值和更新现有标签。我稍微修改了这个示例,我只是将一个用户输入作为起始数字,添加一个按钮单击,并在所有这些操作的右侧显示正在运行的总计。
我现在拥有的代码如下所示,但添加的1似乎并不是在处理(单击之后,它就保持在相同的总数中)。知道为什么吗?非常感谢!
这是单击按钮之前的显示(运行总计只是用户的输入):
我的Python文件:
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from ki
我有三个.kv文件,每个文件对应于我的应用程序中的一个屏幕,一个是屏幕管理器,另外两个是实际的屏幕。我需要将我的一个屏幕中的标签的颜色属性存储到我的主应用程序类中的一个变量中,这样我就可以从我的另一个屏幕更新该变量,并在另一个屏幕中更改标签的颜色。 main.py from utils.imports import *
Window.size = (400, 700)
class ScreenM(ScreenManager):
pass
class Calc(Screen):
# there are a bunch of functions in here to do calc
我正试着按下按钮后进行屏幕切换。但是在屏幕切换之前,我想验证用户名和引脚。我正在使用python和一个kv文件。我是新来的,所以任何帮助都将不胜感激。
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen, FadeTransition
from kivy.uix.widget import Widget
from kivy.uix.gridlayout import GridLayout
from kivy.uix.anch
我想知道如何从我从Python文件中的Kv语言子部件和小部件类定义的类中访问instace对象。
如果我在App的类中实例化我的对象,那么我的Kv语言文件可以访问它,而我的widgets类则不能。但是当我使这个对象成为全局对象(在我的应用程序类之外)时,我的所有类都访问它,但是我的Kv语言子部件不访问它。我编写了下面的代码,让它变得清晰起来:
我的Python文件:
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.textinput import TextInput
class P
我在更改Labelwidget的文本时遇到了问题,它是我的Rootwidget的子项。我正在尝试构建一个时钟,我有一个时钟的工作示例,但该示例不使用.kv文件。我正在尝试以下代码:
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.clock import Clock
class myRootWidget(BoxLayout):
def update(self, *args):
self.ids.timeDisplay.text = "THE TIME!
我有一个方法,随机化目录中的所有图像,列出它们的路径并输出到网格中。我有一个id: from a-l的.kv文件,并希望在每次列出图像的路径后更新"a“变量,以便将其写入self.ids.a.source = rand_img,然后列出具有更新增量的下一个路径。
for f in files:
f = random.choice([
x for x in os.listdir(path)
if os.path.isfile(os.path.join(path, x))
])
rand_img
这个简单的应用程序需要在单击按钮后立即执行计算。
在运行程序时,我收到以下错误:
invalid literal for int() with base 10: ''
在研究我的代码时,我得出的结论是,这可能是因为在程序运行之前单击了按钮操作。因此,它试图将空字符串转换为int,但这是不可能完成的。
计算是在另一个类中执行的,所以我不知道它为什么要执行计算。
我的问题是,如何防止程序在实际运行之前执行单击操作?
class main(QWidget):
def __init__(self):
super().__init__()
se
我想使用全局变量,这些变量一旦用输入屏幕上的方法计算,就可以用于显示屏幕上的信息,但也可以导入到显示屏幕上,以完成将显示在屏幕上的其他计算。
我当前的全局变量将在输入屏幕计算()和显示屏幕显示填充上创建。此外,在更多的计算中,全局变量将在on_enter函数中使用。
我也有一个问题,让相机捕捉图像。它显示在屏幕上,但我没有得到一个保存的图片。main.py
import kivy
import time
from kivy.app import App
from kivy.lang import Builder
from kivy.metrics import dp, sp
from kivy
我不明白为什么我在运行的时候会得到AttributeError: 'ColorWheel' object has no attribute 'sv_s'
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.colorpicker import ColorWheel
from kivy.uix.boxlayout import BoxLayout
class MainApp(App):
def build(self):
box = BoxLayout()
我正在尝试创建一个"BackButton“,它将出现在几个屏幕中,具有相同的图标、颜色和位置,并且总是执行相同的操作(将用户发送到上一页)。为了减少出错的可能性,为了节省时间,我想对其进行一次编程,然后在必要时从.kv文件中加载它。下面是我想做的一个简单的例子。
main.py
from kivymd.app import MDApp
from kivy.lang.builder import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from kivymd.uix.button import MD
我正在尝试做一个计时器,从一个随机的开始数计数到零,反复重复,直到达到预定的时间限制。我在一个屏幕上成功地做到了这一点,但是我在适应几个屏幕时遇到了困难。
目前,如果我在PleaseWork(boxLayout)类中运行函数,它就会按照它应该做的那样做。但是,我想添加一些屏幕,这样主屏幕上就有了一个按钮,上面写着“开始!”在按钮释放后,计时器就会启动。我希望能够在计时器上的值完全相同的情况下,从第二个屏幕循环到第三个屏幕,但我不知道如何做到这一点。
Py档案:
from kivy.app import App
from kivy.lang import Builder
from kivy.ui