The problem is that any class doesn't execute a function in the widget class, it doesn't give any error when the key is pressed but the command doesn't work.
py.
import kivy
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.lang import Builder
from kivy.clock import Clock
from functools import partial
from kivy.uix.popup import Popup
Builder.load_file("wideneme.kv")
class Tryer(Popup):
def prot(self):
MyLayout().play_activator()
class MyLayout(Widget):
def __init__(self, **kwargs):
super(MyLayout, self).__init__(**kwargs)
self.empty = False
def op(self):
den = Tryer()
den.open()
def play_activator(self):
self.ids.bt.text = "Changes"
class FirstApp(App):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.ml = MyLayout()
def build(self, **kwargs):
return self.ml
if __name__ == "__main__":
FirstApp().run()
kv.
<MyLayout>:
BoxLayout:
orientation: "vertical"
Button:
id: bt
text: "ML"
size_hint_x: 2
size_hint_y: 2
on_release: root.op()
<Tryer>:
size_hint_x: .5
size_hint_y: .5
Button:
id: btn
text: "Den"
size_hint_x: 1
size_hint_y: 1
on_release: root.prot()
I also tried assigning a normal variable, but it gave the same result. I can't run it from inside the kv file because I need to run it from the python file in the original code, so don't suggest commands like app.root from inside the kv file, the original code has the same codes as here, but it doesn't have any keys to run the function in the Widget class and I can't put it. It doesn't work in solutions like Objectproperty and id.