PYTHON,KIVY-从PYTHON文件更新以Kv文件编写的标签
我想知道有没有一种方法可以从py文件更新MDLabel Kivy小部件。我试图将变量名Pacientes.PrimerNombre的MDLabel de值放入;此变量是从Txt文件中获取并放入该变量的。事实上,变量的赋值已经完成,但是当我访问下一个屏幕时,它并没有出现。我试过使用self.id。但不起作用;我在想,可能是因为MDLabel放在了NavigationDrawer或类似的地方,因为我使用self.id时会关闭它。它向我抛出AttributeError:“super”对象没有属性“getattr,我意识到我已经在我使用的每个MDLabel中放置了和id。 我将把我的代码留给你(好吧,不是全部代码,而是与我冲突的部分)。 感谢您的帮助!!!谢谢PYTHON,KIVY-从PYTHON文件更新以Kv文件编写的标签,python,kivy,Python,Kivy,我想知道有没有一种方法可以从py文件更新MDLabel Kivy小部件。我试图将变量名Pacientes.PrimerNombre的MDLabel de值放入;此变量是从Txt文件中获取并放入该变量的。事实上,变量的赋值已经完成,但是当我访问下一个屏幕时,它并没有出现。我试过使用self.id。但不起作用;我在想,可能是因为MDLabel放在了NavigationDrawer或类似的地方,因为我使用self.id时会关闭它。它向我抛出AttributeError:“super”对象没有属性“ge
Conmutador_Pacientes.py
from kivy.clock import Clock
from kivy.properties import ObjectProperty, StringProperty
from kivy.uix.screenmanager import Screen
from kivymd.uix.list import ThreeLineListItem
import Auxiliares.Archivos as a
from interfaces.pacientes.Pacientes import Pacientes
class Visual_Pacientes(Screen):
# ape_nss = StringProperty()
# ape_agre = StringProperty()
ape_nome_uno = StringProperty()
ape_nome_dos = StringProperty()
ape_ape_pat = StringProperty()
ape_ape_mat = StringProperty()
def iniciar(self):
self.ape_nome_uno = Pacientes.Primer_Nombre
print(self.ape_nome_uno)
self.ape_nome_dos = Pacientes.Segundo_Nombre
self.ape_ape_pat = Pacientes.ApellidoPaterno
self.ape_ape_mat = Pacientes.ApellidoMaterno
class Registro(Screen):
ape_nss = ObjectProperty()
ape_agre = ObjectProperty()
ape_nome_uno = ObjectProperty()
ape_nome_dos = ObjectProperty()
ape_mat = ObjectProperty()
ape_pat = ObjectProperty()
def __init__(self, **kwargs):
super().__init__(**kwargs)
# self.ids.txt_nome_uno.text = Pacientes.Primer_Nombre
# ape_nome_uno = Pacientes.Primer_Nombre
# ape_nome_dos = Pacientes.Segundo_Nombre
# ape_mat = Pacientes.ApellidoMaterno
# ape_pat = Pacientes.ApellidoPaterno
def regresar(self):
print(self.manager.previous(), ": ", self.manager.current)
if self.manager.previous() == 'pacientes_screen':
self.manager.current = 'pacientes_screen'
elif self.manager.previous() == 'visual_pacientes':
self.manager.current = 'visual_pacientes'
else:
self.manager.current = 'visual_pacientes'
class Gestion(Screen):
print('Gestor de Pacientes - Listado General')
def __init__(self, **kwargs):
super().__init__(**kwargs)
Clock.schedule_once(self.create_list)
def create_list(self, *args):
dato = a.Consultar('./Pacientes.txt')
for e in dato:
elem = a.infoALista(str(e))
x = 0
for i in elem:
self.ids.pacientes_list.add_widget(
ThreeLineListItem(text=elem[x][0],
secondary_text=elem[x][1] + elem[x][2],
tertiary_text=elem[x][3] + elem[x][4] + elem[x][4] + elem[x][5],
on_release=self.on_click
)
)
x += 1
# print("elem: ", elem)
def on_click(self, ThreeLineListItem):
Pacientes.ID = ThreeLineListItem.text
print("Paciente ID: ", Pacientes.ID)
paciente = a.buscarArchivo(Pacientes.ID, "./Pacientes.txt")
Pacientes.NSS = paciente[1]
Pacientes.AgregadoMedico = paciente[2]
Pacientes.Primer_Nombre = paciente[3]
Pacientes.Segundo_Nombre = paciente[4]
Pacientes.ApellidoMaterno = paciente[5]
Pacientes.ApellidoPaterno = paciente[6]
Visual_Pacientes.iniciar(self)
self.manager.current = 'visual_pacientes'
class Datos(Screen):
pass
class Antecedentes(Screen):
pass
class Vitales(Screen):
pass
class Auxiliares(Screen):
pass
class Intensiva(Screen):
pass
class Reportes(Screen):
pass
及
以下是de Kv文件:
visual_pacientes.kv
#: include interfaces/pacientes/registros/Datos.kv
#: include interfaces/pacientes/registros/Auxiliares.kv
#: include interfaces/pacientes/registros/Antecedentes.kv
#: include interfaces/pacientes/registros/Intensiva.kv
#: include interfaces/pacientes/registros/Reportes.kv
#: include interfaces/pacientes/registros/Vitales.kv
#: include interfaces/pacientes/gestion/registro.kv
<Visual_Pacientes>:
name: 'visual_pacientes'
NavigationLayout:
ScreenManager:
Screen:
name: "visual_pacientes"
BoxLayout:
orientation: 'vertical'
MDToolbar:
title: "Gestión del Paciente"
elevation: 10
left_action_items: [["menu", lambda x: nav_drawer_paciente.set_state()]]
ScreenManager:
id: scr_manager_paciente
Datos:
id: datos_paciente
name: "datos_paciente"
Antecedentes:
id: antecedentes_paciente
name: "antecedentes_paciente"
Vitales:
id: vitales_paciente
name: "vitales_paciente"
Auxiliares:
id: auxiliares_paciente
name: "auxiliares_paciente"
Reportes:
id: reportes_paciente
name: "reportes_paciente"
Intensiva:
id: intensiva_paciente
name: "intensiva_paciente"
MDNavigationDrawer:
id: nav_drawer_paciente
BoxLayout:
orientation: 'vertical'
padding: "8dp"
spacing: "8dp"
#Image:
#size_hint: None, None
#size: "200dp", "200dp"
#halign: 'center'
#source: "Actos_de_Paz_I.jpg"
BoxLayout:
orientation: 'vertical'
padding: "8dp"
MDLabel:
id: txt_nome_uno
text: str(root.ape_nome_uno)
text_size: self.width, None
pos_hint: {"x": 0.5, "y": 0.5}
color: 0,1,0,1
MDLabel:
id: txt_nome_dos
text: root.ape_nome_dos
MDLabel:
id: txt_ape_pat
text: root.ape_ape_pat
MDLabel:
id: txt_ape_mat
text: root.ape_ape_mat
ScrollView:
MDList:
OneLineIconListItem:
text: root.ape_nome_uno
OneLineIconListItem:
text: "Datos Iniciales del Paciente"
on_release:
root.manager.current = "registro_screen"
#"datos_paciente"
nav_drawer_paciente.set_state()
IconLeftWidget:
icon: "account"
OneLineIconListItem:
text: "Antecedentes Personales"
on_release:
scr_manager_paciente.current = "antecedentes_paciente"
nav_drawer_paciente.set_state()
IconLeftWidget:
icon: 'bottle-tonic-plus'
OneLineIconListItem:
text: 'Registro de Signos Vitales'
on_release:
scr_manager_paciente.current = "vitales_paciente"
nav_drawer_paciente.set_state()
IconLeftWidget:
icon: 'bottle-tonic-plus'
OneLineIconListItem:
text: 'Auxiliares Diagnósticos'
on_release:
scr_manager_paciente.current = "auxiliares_paciente"
nav_drawer_paciente.set_state()
IconLeftWidget:
icon: 'adjust'
OneLineIconListItem:
text: 'Herramientas de Terapia Intensiva'
on_release:
scr_manager_paciente.current = "intensiva_paciente"
nav_drawer_paciente.set_state()
IconLeftWidget:
icon: 'cogs'
OneLineIconListItem:
text: 'Reportes y Notas Médicas'
on_release:
scr_manager_paciente.current = "reportes_paciente"
nav_drawer_paciente.set_state()
IconLeftWidget:
icon: 'logout'
OneLineIconListItem:
text: 'Regresar'
on_release:
root.manager.current = "interfaz"
nav_drawer_paciente.set_state()
IconLeftWidget:
icon: 'logout'
visual_pacientes.kv
#:包括接口/Pacients/registros/Datos.kv
#:包括接口/电容器/寄存器/辅助设备。kv
#:包括接口/电容器/寄存器/先行项。kv
#:包括接口/电容器/寄存器/Intensiva.kv
#:包括接口/电容器/寄存器/报告。kv
#:包括接口/Pacients/registros/Vitales.kv
#:包括接口/容量/管理/注册表。kv
:
名称:'visual_pacientes'
导航布局:
屏幕管理器:
屏幕:
名称:“可视客户”
盒子布局:
方向:“垂直”
MDToolbar:
标题:“和平运动”
标高:10
左侧操作项:[[“菜单”,lambda x:nav\u抽屉\u paciente.set\u state()]
屏幕管理器:
id:scr\U经理\U客户
达托斯:
id:datos_paciente
姓名:“datos_paciente”
先决条件:
id:Antecedents\u paciente
名称:“前辈们”
维塔莱斯:
id:vitales_paciente
姓名:“vitales_paciente”
辅助人员:
id:辅助人员
名称:“客户辅助服务”
报告:
id:reportes_paciente
名称:“客户报告”
强度:
id:intensiva_paciente
名称:“intensiva_paciente”
MDNavigationDrawer:
id:nav_drawer_paciente
盒子布局:
方向:“垂直”
填充:“8dp”
间距:“8dp”
#图片:
#大小提示:无,无
#尺寸:“200dp”,“200dp”
#哈利恩:“中心”
#资料来源:“Actos_de_Paz_I.jpg”
盒子布局:
方向:“垂直”
填充:“8dp”
MDLabel:
id:txt_nome_uno
文本:str(root.ape\u nome\u uno)
文本大小:self.width,无
pos_提示:{“x”:0.5,“y”:0.5}
颜色:0,1,0,1
MDLabel:
id:txt\u nome\u dos
文本:root.ape\u nome\u dos
MDLabel:
id:txt_ape_pat
文本:root.ape\u ape\u pat
MDLabel:
id:txt\U ape\U mat
文本:root.ape\u ape\u mat
滚动视图:
MDList:
OneLineIconListItem:
文本:root.ape\u nome\u uno
OneLineIconListItem:
正文:“太平洋群岛达图”
发布时:
root.manager.current=“注册表屏幕”
#“datos_paciente”
导航抽屉柜设置状态()
IconLeftWidget:
图标:“帐户”
OneLineIconListItem:
文本:“先行项个人”
发布时:
scr_经理_paciente.current=“先行项_paciente”
导航抽屉柜设置状态()
IconLeftWidget:
图标:“瓶装补品plus”
OneLineIconListItem:
文字:“生命迹象登记”
发布时:
scr_经理_paciente.current=“vitales_paciente”
导航抽屉柜设置状态()
IconLeftWidget:
图标:“瓶装补品plus”
OneLineIconListItem:
正文:“辅助诊断”
发布时:
scr\U manager\u paciente.current=“辅助设备\u paciente”
导航抽屉柜设置状态()
IconLeftWidget:
图标:“调整”
OneLineIconListItem:
文字:“Herramientas de Terapia Intensiva”
发布时:
scr\U manager\u paciente.current=“intensiva\u paciente”
导航抽屉柜设置状态()
IconLeftWidget:
图标:“齿轮”
OneLineIconListItem:
正文:'报告y Notas Médicas'
发布时:
scr\U manager\u paciente.current=“报告客户”
导航抽屉柜设置状态()
IconLeftWidget:
图标:“注销”
OneLineIconListItem:
文字:“Regresar”
发布时:
root.manager.current=“interfaz”
导航抽屉柜设置状态()
IconLeftWidget:
图标:“注销”
visual_pacientes.kv
#: include interfaces/pacientes/registros/Datos.kv
#: include interfaces/pacientes/registros/Auxiliares.kv
#: include interfaces/pacientes/registros/Antecedentes.kv
#: include interfaces/pacientes/registros/Intensiva.kv
#: include interfaces/pacientes/registros/Reportes.kv
#: include interfaces/pacientes/registros/Vitales.kv
#: include interfaces/pacientes/gestion/registro.kv
<Visual_Pacientes>:
name: 'visual_pacientes'
NavigationLayout:
ScreenManager:
Screen:
name: "visual_pacientes"
BoxLayout:
orientation: 'vertical'
MDToolbar:
title: "Gestión del Paciente"
elevation: 10
left_action_items: [["menu", lambda x: nav_drawer_paciente.set_state()]]
ScreenManager:
id: scr_manager_paciente
Datos:
id: datos_paciente
name: "datos_paciente"
Antecedentes:
id: antecedentes_paciente
name: "antecedentes_paciente"
Vitales:
id: vitales_paciente
name: "vitales_paciente"
Auxiliares:
id: auxiliares_paciente
name: "auxiliares_paciente"
Reportes:
id: reportes_paciente
name: "reportes_paciente"
Intensiva:
id: intensiva_paciente
name: "intensiva_paciente"
MDNavigationDrawer:
id: nav_drawer_paciente
BoxLayout:
orientation: 'vertical'
padding: "8dp"
spacing: "8dp"
#Image:
#size_hint: None, None
#size: "200dp", "200dp"
#halign: 'center'
#source: "Actos_de_Paz_I.jpg"
BoxLayout:
orientation: 'vertical'
padding: "8dp"
MDLabel:
id: txt_nome_uno
text: str(root.ape_nome_uno)
text_size: self.width, None
pos_hint: {"x": 0.5, "y": 0.5}
color: 0,1,0,1
MDLabel:
id: txt_nome_dos
text: root.ape_nome_dos
MDLabel:
id: txt_ape_pat
text: root.ape_ape_pat
MDLabel:
id: txt_ape_mat
text: root.ape_ape_mat
ScrollView:
MDList:
OneLineIconListItem:
text: root.ape_nome_uno
OneLineIconListItem:
text: "Datos Iniciales del Paciente"
on_release:
root.manager.current = "registro_screen"
#"datos_paciente"
nav_drawer_paciente.set_state()
IconLeftWidget:
icon: "account"
OneLineIconListItem:
text: "Antecedentes Personales"
on_release:
scr_manager_paciente.current = "antecedentes_paciente"
nav_drawer_paciente.set_state()
IconLeftWidget:
icon: 'bottle-tonic-plus'
OneLineIconListItem:
text: 'Registro de Signos Vitales'
on_release:
scr_manager_paciente.current = "vitales_paciente"
nav_drawer_paciente.set_state()
IconLeftWidget:
icon: 'bottle-tonic-plus'
OneLineIconListItem:
text: 'Auxiliares Diagnósticos'
on_release:
scr_manager_paciente.current = "auxiliares_paciente"
nav_drawer_paciente.set_state()
IconLeftWidget:
icon: 'adjust'
OneLineIconListItem:
text: 'Herramientas de Terapia Intensiva'
on_release:
scr_manager_paciente.current = "intensiva_paciente"
nav_drawer_paciente.set_state()
IconLeftWidget:
icon: 'cogs'
OneLineIconListItem:
text: 'Reportes y Notas Médicas'
on_release:
scr_manager_paciente.current = "reportes_paciente"
nav_drawer_paciente.set_state()
IconLeftWidget:
icon: 'logout'
OneLineIconListItem:
text: 'Regresar'
on_release:
root.manager.current = "interfaz"
nav_drawer_paciente.set_state()
IconLeftWidget:
icon: 'logout'