<UBW>: GridLayout: row_force_default: True row_default_height: 100 cols: 2 canvas.before: Color: rgb: .5, .5, .5 Rectangle: pos: self.pos size: self.size Color: rgb: 1, 1, 1 BorderImage: # BorderImage behaves like the CSS BorderImage border: 10, 10, 10, 10 source: 'C:/Users/mmoma_000/Pictures/Wallpapers/fsn.jpg' pos: self.pos size: self.size Button: text: 'Back to menu' color: 0,0,.5 on_press: root.manager.current = 'menu' background_color: 1,0,0,1 Label: id: AName text: "F S/N: UBW" font_size: '24sp'
class MenuScreen(Screen): pass
class SettingsScreen(Screen): pass
class UBW(Screen): pass
class LH(Screen): pass
# Create the screen managersm = ScreenManager()sm.add_widget(MenuScreen(name='menu'))sm.add_widget(SettingsScreen(name='settings'))sm.add_widget(UBW(name='UBW'))sm.add_widget(LH(name='LH'))
class TestApp(App):
def build(self): return sm
if __name__ == '__main__': TestApp().run()
import kivy
import socket
import re
import subprocess
import os
import time
import threading
import Queue
import sys
import ast
from kivy.uix.stacklayout import StackLayout
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.label import Label
from kivy.uix.button import Button
from kivy.uix.textinput import TextInput
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.lang import Builder
from kivy.app import App
from kivy.uix.scrollview import ScrollView
from kivy.properties import ObjectProperty,StringProperty,NumericProperty, ListProperty
from kivy.config import Config
from kivy.uix.gridlayout import GridLayout
from kivy.uix.image import Image
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.uix.switch import Switch
from kivy.clock import Clock
from kivy.uix.progressbar import ProgressBar
from kivy.uix.popup import Popup
from kivy.metrics import Metrics
Builder.load_string('''
<UBW>:
GridLayout:
row_force_default: True
row_default_height: 100
cols: 1
canvas.before:
Color:
rgb: .5, .5, .5
Rectangle:
pos: self.pos
size: self.size
Color:
rgb: 5, 5, 5
Button:
id: MyB
text: 'Back to menu'
color: 0,0,.5
on_press: root.change_lbl()
background_color: 1,0,0,1
Label:
id: AName
text: "F S/N: UBW"
font_size: '
24sp'
size_hint: .5, .5
''')
class MenuScreen(Screen):
pass
class SettingsScreen(Screen):
pass
class UBW(Screen):
def __init__(self, **kwargs):
super(UBW, self).__init__(**kwargs)
self.lbl = self.ids['AName']
self.btn = self.ids['MyB']
def change_lbl(self):
self.lbl.text = 'Whatever you want'
class LH(Screen):
pass
# Create the screen manager
sm = ScreenManager()
sm.add_widget(UBW(name='UBW'))
sm.add_widget(MenuScreen(name='menu'))
sm.add_widget(SettingsScreen(name='settings'))
sm.add_widget(LH(name='LH'))
class TestApp(App):
def build(self):
return sm
if __name__ == '__main__':
TestApp().run()
Thanks for the response,How would I go about calling the change_lbl function without having to use on_press in the kivy language?
Thanks
self.lbl.text = 'Whatever you want'
ubw_instance.lbl.text = "new text"