在尝试访问在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
我正在尝试制作一个有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
我使用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
在此代码中,在按下“创建”按钮时,将创建三个按钮“删除”、"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
我想从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
我正在尝试使用一组按钮来控制显示哪个屏幕,同时仍然显示这些按钮。 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)
我在理解自定义属性的用法和将方法绑定到事件的方法方面存在问题。这是我的密码:
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>:
我想添加按钮到盒布局,但在我的代码中有一些问题。单击“添加”按钮或“删除”按钮时,将收到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中动态地创建了按钮。我想打印按钮文本上的__释放/按下,但当我点击按钮。它打印列表的最后一个元素,而它应该打印按钮的文本。
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 = '''
我想通过单击“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
我对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
因此,我正在制作一个计算器/单位转换应用程序,并希望有一个标签来动态显示计算的文本输入值的变化。例如,让我们说,计算部分是一个简单的乘以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
我试着写一个简单的时钟应用程序。它工作得很好,但是我想知道,是否有一种方法可以使用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
我的问题简单而直截了当。我试图使用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
我正在使用ScreenManager切换屏幕,但当我正常切换屏幕时,屏幕上的按钮仍然与它在一起。我必须将按钮复制到每个屏幕上。有没有办法在切换屏幕的同时保持按钮不动?
这是我的应用程序代码:
import (...)
class AppContainer(FloatLayout):
pass
class NavButtons(BoxLayout):
pass
class FirstScreen(Screen):
pass
class SecondScreen(Screen):
pass
class Screens(ScreenManager)
我在kivy中创建一个按钮,当按下时,我希望它将用户定向到特定的网站。我知道如何创建一个超链接,但我不知道如何在按钮中实现它。 我已经尝试在文本:和on_press:中添加超链接。我也尝试过导入has浏览器并使用它,但没有成功。 Button:
text:'Click here to visit our website'
on_press: 'Not sure what to write here'
我是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
当我运行这个程序时,它写的是“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
我正在尝试构建一个应用程序来计算两个值的总和。我有一个名为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
我一直在使用kivy创建一个应用程序。在我的应用程序中,我有一个从目录读取的按钮,并在弹出窗口小部件中为目录中的每个文件添加一个按钮。
生成按钮的代码运行良好,没有任何问题。我的问题是当我分配一个on_press或其他事件时,在我的main.py中触发一个方法。
main.py片段;
class Container(BoxLayout):
container=ObjectProperty(None)
SelectGamePopup = Popup(title='Start A New Game', size_hint=(None, Non
我在基维有两个应用程序。两者都是基于GridLayout的,我发现了一个类似的问题,但我不明白:
在.py
import kivy
kivy.require("1.9.0")
from kivy.uix.label import Label
from kivy.properties import ObjectProperty
from kivy.app import App
from kivy.uix.gridlayout import GridLayout
class FirstScreen(GridLayout):
#some methods
class Seco
我想为Kivy的TextInput实现一个行包装函数。我正在我的包装函数中创建一个Label,并检查它的纹理大小,看看这条线是否需要包装。但是,无论文本如何,texture_size属性都返回[0,0]。因此,我收集了一些测试代码来进行调查:
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
from kivy.app import App
from kivy.uix.labe
我想要创建一组按钮来控制在同一个for loop中创建的for loop屏幕。
我的.py文件
class Profiles(Screen):
#create button and screens based on items in acc_abr
def create_butt(self):
for i in acc_abr:
self.ids.sm.add_widget(Screen(name = i))
self.ids.pro.add_widget(Button(text=i, id=i, on_pres
>>背景:
我想更新/更改SecondScreen中按钮的文本,在MainScreen中按下按钮。嗯,我做了一些研究,做了我想做的事情,当我在终端机上登记时,文字确实变了。但是,SecondScreen上显示的文本并没有。
,>>,这就是我所做的:
((请注意,我只使用代码片段--例如,我将在下面发布整个代码)。
Button:
text:"PRESS TO CHANGE TEXT"
on_press:
root.funcself()
## on press it goes to it's roo
如何让这个包含kivy的python代码在另一个包含kivy的python代码中运行,就像你调用一个函数那样,这样我就可以有不同的代码段了。我不想在一个特定的python文件上编写太多的代码,因为我会处理很大的代码。 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