在尝试访问在for循环中创建的一组按钮中的两个按钮并将该按钮绑定到on_press时,我遇到了一个错误。请告诉我做这件事的正确方法是什么(没有.kv)。如何访问单个按钮并将它们绑定到不同on_press事件 from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.gridlayout import GridLayout
class TestApp(App):
def build(self):
layout=GridLayout(cols=1)
考虑以下代码:
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
class First(BoxLayout):
def __init__(self, **kwargs):
super().__init__(**kwargs)
x = Button(text='somebutton')
x.bind(on_press=lambda*_: print('First
我的应用程序只有一个按钮,它的文本是一个从1到9的随机数。我想在on_press上的控制台上打印按钮文本。实际上,我已经最小化了我的问题,我想要将这个值与一个变量进行比较,如果是button.text=5,那么做一些其他的do_something_else。
我的尝试:
#!/usr/bin/kivy
import kivy
kivy.require('1.7.2')
from random import random
from random import choice
from kivy.app import App
from kivy.lang import Builde
我使用kivy,我使用Windows 10,Python3.7。
当我按每个按钮时,我想打印出每个按钮的名称。但是,只打印最后一个按钮的名称。
下面是Python代码
import kivy
kivy.require('2.0.0')
from kivy.app import App
from kivy.core.window import Window
from kivy.uix.gridlayout import GridLayout
from kivy.uix.button import Button
from kivy.uix.scrollview
我正在尝试制作一个有3个按钮和一个显示器的应用程序(我正在使用TextInput )。
当一个按钮被按下时,我希望按钮的文本显示在屏幕上。如果你按12键,我想让112出现在显示器上。
有没有一种不需要手动将on_press添加到每个按钮中的方法?下面是不起作用的代码。我认为它不起作用,因为"self.ids.textbox.text“指的是错误的东西。我不知道该怎么纠正。
没有工作的main2.py:
import kivy
kivy.require("1.9.0")
from kivy.app import App
from kivy.uix.boxlayout i
在此代码中,在按下“创建”按钮时,将创建三个按钮“删除”、"Btn1“、"Btn2”.按下“删除”按钮时,所有三个按钮(“删除”、"Btn1“、"Btn2")都应删除。我尝试了许多方法,但我无法找到一种方法,使新的按钮可以访问其他函数在同一类下。
主要守则:
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.togglebutton import ToggleButton
from kivy.uix.label import Label
from kivy.
我的应用程序只有一个按钮,文本值为'2‘。我希望在on_press事件上将文本值更改为100
我的尝试:
#!/usr/bin/kivy
import kivy
kivy.require('1.7.2')
from random import random
from random import choice
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.uix.gridla
我试图将下面代码中的背景图像更改为B_image2.png。我试着编写一个函数,当我单击一个图像时,这个函数被称为a并更改背景图像的地址,它确实改变了存储在B_G_IMG变量中的地址,但是屏幕没有更新。
.py文件
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.anchorlayout import AnchorLayout
from kivy.uix.image import Image
from kivy.c
我正在尝试使用一组按钮来控制显示哪个屏幕,同时仍然显示这些按钮。 bobo.py import kivy
kivy.require("1.9.0")
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.uix.boxlayout import BoxLayout
class ButtSection(BoxLayout):
pass
class Welcome(Screen)
我想添加按钮到盒布局,但在我的代码中有一些问题。单击“添加”按钮或“删除”按钮时,将收到AttributeError消息。谢谢你帮我。
我的python代码:
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.screenmanager import Screen, ScreenManager
class MainScreen(Screen):
pass
class SecondScreen(Screen):
pass
class ScreenManagement(Scre
我对kivy很陌生,我“生成”了20个按钮,当按下按钮时,我想用名为"on_press_kartya“的函数打印按钮的名称,但我不知道怎么做。我很感谢你的帮助。
from kivy.app import App
from kivy.uix.dropdown import DropDown
from kivy.uix.button import Button
from kivy.lang import Builder
from kivy.uix.boxlayout import BoxLayout
import random
class MainApp(App):
def bu
我在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 = '''
我想从main类访问一个id到fahim2_pop类。想要访问word从文本输入(在主类中)到弹出窗口小部件,当有人按下搜索按钮时会出现这个窗口小部件。当有人搜索"hello“并按search按钮时,弹出窗口小部件就会出现,而在该弹出窗口小部件中,标签的文本将与文本输入中的"hello”相同。但是标签和id仍然在不同的类中。怎么做?
python代码
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.lang import Builder
from kivy.uix.popup
我在理解自定义属性的用法和将方法绑定到事件的方法方面存在问题。这是我的密码:
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.label import Label
from kivy.uix.button import Button
from kivy.properties import StringProperty
kivy_lang = '''
<MainWidget>:
我想通过单击“horny mode”按钮来删除“bl”小部件,但它最初并没有出现在屏幕上。如何通过单击按钮来删除小部件? from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.anchorlayout import AnchorLayout
from kivy.uix.floatlayout import FloatLayout
from kivy.lang import Builder
from kivy.uix.button import Button
from kivy.confi
我正在使用ScreenManager切换屏幕,但当我正常切换屏幕时,屏幕上的按钮仍然与它在一起。我必须将按钮复制到每个屏幕上。有没有办法在切换屏幕的同时保持按钮不动?
这是我的应用程序代码:
import (...)
class AppContainer(FloatLayout):
pass
class NavButtons(BoxLayout):
pass
class FirstScreen(Screen):
pass
class SecondScreen(Screen):
pass
class Screens(ScreenManager)
当我运行这个程序时,它写的是“auto.tton ons1.BIND(on_press=self.on_click) IndexError: list index超出范围”,但是我想要访问的元素仍然在范围内。我该怎么解决这个问题?
import kivy
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.widget import Widget
from kivy.uix.button import Button
from kivy.graphics import Color
cla
我试着写一个简单的时钟应用程序。它工作得很好,但是我想知道,是否有一种方法可以使用simple_clock(App)中的方法来绘制()类并将信息存储在那里?
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.graphics import Line
from kivy.core.image import Image
from kivy.uix.button import Button
from kivy.clock import Clock
from kivy.uix.screenmanager impo
我对Kivy的半纯蟒蛇和半kv语言设置感到很困难。我现在所要做的只是一个'hello world'类型的on_press事件,但我无法让它工作。
from kivy.uix.modalview import ModalView
from kivy.uix.listview import ListView
from kivy.uix.gridlayout import GridLayout
from kivy.lang import Builder
from kivy.app import App
import citylists
import cat_dict
from ki
因此,我正在制作一个计算器/单位转换应用程序,并希望有一个标签来动态显示计算的文本输入值的变化。例如,让我们说,计算部分是一个简单的乘以3。所以,用户输入,比如说,5到文本输入。然后,他们点击计算按钮,这将乘以3。然后,我想要一个标签来显示这个计算。目前,我不知道如何让这一切发生!这是我的代码:
import kivy
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
from
我正在尝试构建一个应用程序来计算两个值的总和。我有一个名为Therdwindow的屏幕,它有三个文本输入小部件。
from kivy.app import App
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.scatter import Scatter
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.textinput import Text
以下是main.py:
from kivy.app import App
from kivy.uix.behaviors import ButtonBehavior
from kivy.uix.image import Image
from kivy.uix.screenmanager import (ScreenManager, Screen)
from kivy.uix.button import Button
from kivy.properties import *
class EmotionsScreen(Screen):
def button_press(self, em
我再说一遍,这是我的代码,为什么"beep.wav“在我启动应用程序时会播放,而不是当我按下我假设绑定到的按钮时?
import kivy
import random
from kivy.core.audio import SoundLoader
from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
sound = SoundLoader.load('beep.wav')
red = [1,0,0,1]
green =
>>背景:
我想更新/更改SecondScreen中按钮的文本,在MainScreen中按下按钮。嗯,我做了一些研究,做了我想做的事情,当我在终端机上登记时,文字确实变了。但是,SecondScreen上显示的文本并没有。
,>>,这就是我所做的:
((请注意,我只使用代码片段--例如,我将在下面发布整个代码)。
Button:
text:"PRESS TO CHANGE TEXT"
on_press:
root.funcself()
## on press it goes to it's roo
我的问题简单而直截了当。我试图使用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
我想写一个移动应用程序与KivyMD一样的底部工作表菜单。我使用KivyMD按钮工作表的问题是,当我单击按钮打开它时,需要很长时间(取决于菜单长度),因为列表是通过每次按下按钮时调用函数来生成的。所以我想写我自己的解决方案。在我的kv文件中,我手动添加了20个按钮来查看,这是所有的工作。但是我没有找到在python文件中使用循环的方法。谁能帮我添加30多个按钮到modalview是可滚动的? 下面是我的python文件: from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.lang impor
我的应用程序只有一个默认背景色的按钮。我只想在on_press事件上将它的背景色更改为另一种颜色。您可能会认为它类似于html的已访问和未访问的超链接,即当单击链接时,它会改变其颜色。
我的尝试:
#!/usr/bin/kivy
import kivy
kivy.require('1.7.2')
from random import random
from random import choice
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import
我对python和kivy来说都是个新手,大约一周前我从码学院学过python,也从youtube教程学过kivy。
请有人解释一下,为什么下面的代码不产生一个标签显示n的屏幕,这个标签是由按钮增加的?
Python文件
import kivy
from kivy.app import App
from kivy.uix.button import Button, Label
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import NumericProperty
class Example(BoxLayout
我是python和kivy的新手,当按下任何按钮时,我都试图清除主机中的所有小部件,我的代码如下:
from kivy.uix.button import Button
from kivy.uix.gridlayout import GridLayout
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.popup import Popup
from kivy.uix.label import Label
spots={}
class spot(Button):
'''
classdocs