Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 10, 2023 14:51:14

IgorPobiruhin
Зарегистрирован: 2023-01-10
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Нужна помощь Kivy

Доброго времени суток уважаемые форумчане!
Помогите решить проблему.При нажатии на кнопку,на самой кнопке должен менятся текст,это сделать удалось.
Но и в поле Label должен менятся текст,вот это ни как у меня не получается.Выводится ошибка AttributeError: ‘Button’ object has no attribute ‘label’
Буду благодарен за помощь.

main.py

from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
from kivy.uix.button import Button
from kivy.properties import ObjectProperty


class Container(GridLayout):
default_var_butt_text = ObjectProperty()
default_var_lab_text = ObjectProperty()


default_var_butt_status = 1
default_var_butt_text =

default_var_lab_status = 1
default_var_lab_text =



def __init__(self, var_butt_status=default_var_butt_status,
var_butt_text=default_var_butt_text,
var_lab_status=default_var_lab_status,
var_lab_text=default_var_lab_text,

**kwargs):

super().__init__(**kwargs)
self.var_butt_status = var_butt_status
self.var_butt_text = var_butt_text
self.var_lab_status = var_lab_status
self.var_lab_text = var_lab_text





def fun_change_text_button(self, arg_change_butt):


arg_change_butt.text = self.default_var_butt_text

if not self.default_var_butt_status:

self.default_var_butt_status = 1
else:
self.default_var_butt_status = 0


def fun_change_text_label(self, arg_change_lab):
arg_change_lab.text = self.default_var_lab_text
if self.default_var_lab_status:

self.default_var_lab_status = 1

else:
self.default_var_lab_status = 0

class SaunaApp(App):
def build(self):



return Container()


if __name__ == ‘__main__’:
SaunaApp().run()


sauna.kv

<Container>

cols: 2
rows: 1
padding: 50


default_var_but_text: default_var_but_text_id
default_var_lab_text: default_var_lab_text_id


Button:
id: default_var_but_text_id
text:
‘Включить сауну’
on_release:
root.fun_change_text_button(self)
on_release:
root.fun_change_text_label(self.label)

Label:
id: default_var_lab_text_id

text:
‘Сауна выключена’

Офлайн

#2 Янв. 10, 2023 21:32:23

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Нужна помощь Kivy

https://kivy.org/doc/stable/api-kivy.uix.button.html
есле мне не изменяет память

 Button:
    id: default_var_but_text_id
    text: ‘Включить сауну’
    on_release: root.fun_change_text_button(self);root.fun_change_text_label(self.label)



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version